- User Since
- Apr 16 2015, 3:05 AM (152 w, 2 d)
Mon, Feb 19
This is very similar to what we had as an initial implementation of loop predication. Later we found that this approach is problematic. See https://reviews.llvm.org/D37569 description for the details. This patch likely suffers from a similar problem.
Feb 12 2018
Thanks for adding the test case!
Jan 19 2018
Nov 2 2017
Oct 27 2017
We also observed regressions caused by this change. In our case the change increases the perceived cost of a loop which in turn reduced the unrolling factor. Let me know if you need further details about the regressions.
Oct 26 2017
I changed the loop in the description so it doesn't use Start. Instead the offsets are sunk into predicates G and B.
Clarified the description, added the requested test case.
Oct 20 2017
Upload diff with context. Minor fix in the header comment.
Oct 19 2017
Oct 12 2017
Did you measure the compile time impact somehow?
Oct 6 2017
Oct 5 2017
Oct 4 2017
Sep 22 2017
Sep 7 2017
May 25 2017
May 22 2017
May 19 2017
Apr 22 2017
Apr 21 2017
@andrew.w.kaylor - ping, do you have any comments about the latest revision?
Apr 13 2017
Add the comment about overly conservative legality check, add the test demonstrating it.
Mar 30 2017
Update, I didn't see that there was a request to add a comment. Will do and update the patch,
Mar 23 2017
Address review comments.
Mar 22 2017
It's difficult to tell. Even if FP addition is cheaper the second combine also saves us one sitofp conversion. It should be also taken into account.
Mar 21 2017
Mar 10 2017
It's worth noting for others that the motivation for the change is a bug we found in JumpThreading LVI cache invalidation. The bug is easily triggered with our downstream changes, but is difficult to trigger it upstream. We need the printer pass to write an isolated upstream test case for this problem.
Mar 1 2017
Feb 27 2017
Feb 17 2017
Feb 16 2017
Feb 9 2017
Feb 8 2017
Add an assert as suggested.
Feb 7 2017
- Land tests separately and rebase the patch against it.
- Remove addrspace(1) from the test cases.
- Change CHECK pattern matching in fp16-promote.ll test_extractelement slightly.
Feb 6 2017
Fix the type CHECK64 -> CHECK-ARMv6 in ARM load-combine.ll test case.
The test cases have been landed separately (rL294185), rebase the patch.