Currently we allow peeling of the loops if there is a exiting latch block
and all other exits are blocks ending with deopt.
Actually we want that exit would end up with deopt unconditionally but
it is not required that exit itself ends with deopt.
Paths
| Differential D81140
[Peeling] Extend the scope of peeling a bit ClosedPublic Authored by skatkov on Jun 4 2020, 3:57 AM.
Details Summary Currently we allow peeling of the loops if there is a exiting latch block Actually we want that exit would end up with deopt unconditionally but
Diff Detail Event TimelineThis revision is now accepted and ready to land.Jun 19 2020, 10:29 AM Closed by commit rG29b2c1ca7209: [Peeling] Extend the scope of peeling a bit (authored by skatkov). · Explain WhyJun 22 2020, 1:02 AM This revision was automatically updated to reflect the committed changes.
Revision Contents
Diff 268411 llvm/lib/Transforms/Utils/LoopUnrollPeel.cpp
llvm/lib/Transforms/Utils/LoopUtils.cpp
llvm/test/Transforms/LoopUnroll/peel-loop-pgo-deopt-pd.ll
|