Non-trivial unswitching can clone loops.
The legacy -loop-unswitch pass also checks for this.
Fixes PR49085.
Paths
| Differential D96288
[SimpleLoopUnswitch] Don't non-trivially unswitch loops that are unsafe to clone ClosedPublic Authored by aeubanks on Feb 8 2021, 12:54 PM.
Details Summary Non-trivial unswitching can clone loops. The legacy -loop-unswitch pass also checks for this. Fixes PR49085.
Diff Detail
Event TimelineThis revision is now accepted and ready to land.Feb 8 2021, 1:04 PM This revision was landed with ongoing or failed builds.Feb 8 2021, 1:19 PM Closed by commit rG0eda4547969e: [SimpleLoopUnswitch] Don't non-trivially unswitch loops that are unsafe to clone (authored by aeubanks). · Explain Why This revision was automatically updated to reflect the committed changes.
Revision Contents
Diff 322200 llvm/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp
llvm/test/Transforms/SimpleLoopUnswitch/not-safe-to-clone.ll
|