Simple loop unswitch likes to leave around unsimplified and/or/xors. SCEV today bails out on these idioms which is unfortunate in general, and specifically for the unswitch interaction.
Details
Details
Diff Detail
Diff Detail
Paths
| Differential D70459
[SCEV] Be robust against IR generated by simple-loop-unswitch ClosedPublic Authored by reames on Nov 19 2019, 1:09 PM.
Details Summary Simple loop unswitch likes to leave around unsimplified and/or/xors. SCEV today bails out on these idioms which is unfortunate in general, and specifically for the unswitch interaction.
Diff Detail Event Timeline
This revision is now accepted and ready to land.Nov 21 2019, 12:55 AM Closed by commit rGf1a9a8323223: [SCEV] Be robust against IR generated by simple-loop-unswitch (authored by reames). · Explain WhyNov 21 2019, 9:54 AM This revision was automatically updated to reflect the committed changes.
Revision Contents
Diff 230135 llvm/lib/Analysis/ScalarEvolution.cpp
llvm/test/Analysis/ScalarEvolution/trip-count-andor.ll
|
I would expect max BE taken count to be %n as well.