By checking that none of the child loops contain a BB we make sure BBMap
contains the innermost loop defining BB. This invariant was violated in
LoopInterchange and got caught by this assertion.
Details
Details
Diff Detail
Diff Detail
- Repository
- rL LLVM
Event Timeline
Comment Actions
LoopInterchange did that wrong and this additional assertion catches that. The fix for LoopInterchange is at D45970
Comment Actions
LGTM
While you're at it, could you also add a check to compareLoops to make sure the DenseBlockSet is consistent?
Comment Actions
Add check to make sure the blocks sets match. I had to add a function to get a handle for a const blocks sets, what do you think? I would be happy to split this up in 2 patches if necessary.