- User Since
- Jan 23 2017, 8:11 PM (42 w, 6 d)
Fri, Nov 17
Also renamed the lambda to make it more clear.
Also rebased on top of https://reviews.llvm.org/D39589
Added a more detailed comment to Lambda, fixed a typo.
Thu, Nov 16
Addressed style comments.
Wed, Nov 15
Merged as https://reviews.llvm.org/rL318381
Changed comments, added test with nephew loop.
Tue, Nov 14
Mon, Nov 13
Sun, Nov 12
Fri, Nov 10
Updated comments in code to make it more clear what is going on.
@reames the problem here is that when we try to simplify sum of i and j in getSCEVAddRecExpr, we falsely assume that j is invariant for i's loop while it should be vice versa: i is invariant for j's loop.
Wed, Nov 8
- Removed over-restrictive check;
- Allowed PRE across implicit control flow if it only takes to insert a Phi from existing instructons and not create new instructions.
- Added a new test against item 2.
Mon, Nov 6
Put under rug until it's needed.
Fri, Nov 3
Wed, Nov 1
Tue, Oct 31
Mon, Oct 30
Sun, Oct 29
This is an interesting case, however it has nothing to do with this patch. This patch is only for pattern "some Phi becomes invariant after N steps", and in your situation is "some condition becomes invariant after few steps". It is a completely different situation. In case if your condition was if (x < 60), using peeling here would be complete bizzare.
Fri, Oct 27
Changes from https://reviews.llvm.org/D38944 (fixed version) have been included into this one since they must go together.
The general idea is that I plan to factor out concept of SCEV range (which is basically a tripple Begin, End, Step) into an utility class. The concept of such range is used in IRCE, Loop Predication and some other passes, each of them has its own implementation of basic stuff (such as intersection, contains check etc).
Given that https://reviews.llvm.org/D37460 and this one should only go together, it makes more sense to merge them into one. I am abandoning this one; the fixed changes from here will be merged into https://reviews.llvm.org/D37460. Abandoning this one.
I am going to abandon https://reviews.llvm.org/D38944 and combine its changes into here with all possible NFC factored out. It would be more logical to keep them together.
Thu, Oct 26
Reverted as https://reviews.llvm.org/rL316739. I will try to understand what happens.
Going to add some stuff to make clear distinction between signed and unsigned division.