[PATCH][LoopStrengthReduce] Don't trim a formula that uses a subset of required registers

Chandler Carruth chandlerc at google.com
Mon Apr 28 15:55:39 PDT 2014


On Fri, Apr 25, 2014 at 1:39 PM, Andrew Trick <atrick at apple.com> wrote:

> Adam,
>
> This fix looks great to me! Please go ahead and commit.
>

Andy, how does this look good? ;]

--- /dev/null
+++ b/test/Transforms/LoopStrengthReduce/ARM64/req-regs.c
@@ -0,0 +1,36 @@
+// RUN: clang %s -O3 -target arm64-apple-ios -o - -S -mllvm
-debug-only=loop-reduce 2>&1| FileCheck %s
+// REQUIRES: asserts
+
+// LSR used to fail here due to a bug in the ReqRegs test.  To complicate
+// things, this could only be reproduced with clang because the uses would
+// come out in different order when invoked through llc.
+
+// CHECK: The chosen solution requires
+// CHECK-NOT: No Satisfactory Solution

This test runs clang, from the users PATH, with -O3, in an LLVM test. This
doesn't work *at all*.

That really doesn't work. Mind reverting until you have a reduced test
case? This is blocking us, so I'd like to get it fixed ASAP.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20140428/9efa822a/attachment.html>


More information about the llvm-commits mailing list