- User Since
- Jan 23 2017, 8:11 PM (51 w, 1 d)
Sun, Jan 14
Fri, Jan 12
Thu, Jan 11
Added a comment, fixed some typos.
Sun, Jan 7
Needs to be ported on top of current code base.
Fri, Dec 29
Thu, Dec 28
Wed, Dec 27
Simplified test slightly.
Tue, Dec 26
The other way is limiting SCEV transformation not by depth only, but also by the size of operands list, if it makes sense.
Mon, Dec 25
Sun, Dec 24
Tue, Dec 19
Do you mind giving the blocks in test some reasonable names? E.g. outer_loop, inner_loop etc, just to make it clear what is going on.
Comments addressed in merged patch (comment fixed & tests added).
Thanks! I will add more test cases in follow-up NFC.
Dec 18 2017
Dec 17 2017
Guys, can anyone take a look? This is a fix for a miscompile which leads to functional bug.
Dec 15 2017
Dec 11 2017
Dec 9 2017
Dec 8 2017
Dec 7 2017
Dec 6 2017
Dec 5 2017
Need to rebase on top of latest changes in GVN.
Dec 4 2017
Dec 1 2017
Nov 30 2017
Looks fine for me, but I'd like someone else to take a look to verify that the logic is ok.
Nov 29 2017
Nov 28 2017
Nov 27 2017
Reused EquivalenceClasses which is the default implementation of DSU in LLVM instead of the custom one.
I've replaced the caching structure with EquivalenceClasses which is existing implementation of DSU in LLVM (the logic remains the same).
It seems that EquivalenceClasses does exactly what we need. Surprisingly, it didn't have unit tests so I've commited them as rL319018. I abandon this patch and will rewrite dependent patches so that they use EquivalenceClasses.
I didn't know it that EquivalenceClasses already does it. After looking into the code I can agree that it's pretty much the same thing done there. I guess it's easier to add ranking heuristic in there than to duplicate this piece of logic.
LGTM with test with %lowerlimit = 0 added.
Nov 26 2017
Nov 24 2017
Nov 23 2017
@efriedma , can I have it landed? :)
Nov 22 2017
Looks fine for me, but I'd likeone else to take a look.