This patch teaches LoopSimplifyCFG to remove dead exiting edges
from loops.
Details
Details
Diff Detail
Diff Detail
- Repository
- rL LLVM
Event Timeline
Comment Actions
Rebased, lifted limitation related to breaking connectivity between nested and parent loops.
lib/Transforms/Scalar/LoopSimplifyCFG.cpp | ||
---|---|---|
109 ↗ | (On Diff #174875) | We generate switches basing on this, and SmallPtrSet has a non-deterministic order. Need underlying NFC to make it a vector. |
Comment Actions
Fixed messy comments, rebased on top of deterministic collection of exit blocks, tests updated accordingly.
lib/Transforms/Scalar/LoopSimplifyCFG.cpp | ||
---|---|---|
262 ↗ | (On Diff #175039) | Minor nit - your current code splits preheader at terminator, so <preheader code> is left at preheader, |