Add a flag to allow disabling the changes in
https://reviews.llvm.org/D134803.
Details
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
Thank you, Alina!
llvm/lib/Transforms/Utils/LoopPeel.cpp | ||
---|---|---|
905 | Style nit: no need for {} around if/else bodies here. |
llvm/lib/Transforms/Utils/LoopPeel.cpp | ||
---|---|---|
112 | Is it possible to reduce these conditions to the ones relevant to the affected test case? Like, I doubt that the check for BranchInst is relevant, and it would be good to know whether for the problematic case having a non-latch exit is the issue, or the structure of other exits. | |
516 | Why is all this code needed? I would have expected the change to be just in canPeel(). For the cases where canPeel() previously returned true, the new implementation should behave the same apart from minor differences in branch weights. Does that mean that you see issues if you limit peeling, but use the new branch weight updating code? That would be quite surprising, and would point towards something there being broken. |
Generally fine with a temporary option, as long as the code duplication introduced here is not actually necessary.
Is it possible to reduce these conditions to the ones relevant to the affected test case? Like, I doubt that the check for BranchInst is relevant, and it would be good to know whether for the problematic case having a non-latch exit is the issue, or the structure of other exits.