llvm-project
b2ffc0d9 - [LoopInterchange] Reject if inner loop header has duplicate successors (#204128)

Commit
12 days ago
[LoopInterchange] Reject if inner loop header has duplicate successors (#204128) Previously, loop interchange crashed in several cases where the inner loop header had duplicate successors. In practice, the following was happening: - During the transformation phase, the inner loop header was not split because its first non-PHI instruction was its terminator. - `updateSuccessor` was called on the header with `MustUpdateOnce=true`, which triggers an assertion failure. This patch fixes the issue by rejecting such cases during the legality check phase. I believe this situation is rare, so it should not significantly affect real-world cases. Fix #203887.
Author
Parents
Loading