OSDN Git Service

Set option enabling LSR alternative way to resolve complex solution to false.
authorEvgeny Stupachenko <evstupac@gmail.com>
Sat, 4 Mar 2017 03:14:05 +0000 (03:14 +0000)
committerEvgeny Stupachenko <evstupac@gmail.com>
Sat, 4 Mar 2017 03:14:05 +0000 (03:14 +0000)
Differential Revision: http://reviews.llvm.org/D29862

From: Evgeny Stupachenko <evstupac@gmail.com>

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@296959 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Transforms/Scalar/LoopStrengthReduce.cpp
test/Transforms/LoopStrengthReduce/2013-01-14-ReuseCast.ll
test/Transforms/LoopStrengthReduce/ARM/ivchain-ARM.ll

index d9510e7..1dad080 100644 (file)
@@ -136,7 +136,7 @@ static cl::opt<bool> InsnsCost(
 
 // Flag to choose how to narrow complex lsr solution
 static cl::opt<bool> LSRExpNarrow(
-  "lsr-exp-narrow", cl::Hidden, cl::init(true),
+  "lsr-exp-narrow", cl::Hidden, cl::init(false),
   cl::desc("Narrow LSR complex solution using"
            " expectation of registers number"));
 
index 2a83bea..dcd0681 100644 (file)
@@ -14,7 +14,7 @@ target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f3
 ; current LSR cost model.
 ; CHECK-NOT: = ptrtoint i8* undef to i64
 ; CHECK: .lr.ph
-; CHECK: [[TMP:%[^ ]+]] = add i64 %4, 1
+; CHECK: [[TMP:%[^ ]+]] = add i64 %tmp5, 1
 ; CHECK: sub i64 [[TMP]], %tmp6
 ; CHECK: ret void
 define void @VerifyDiagnosticConsumerTest() unnamed_addr nounwind uwtable align 2 {
index bd2f9f3..7888421 100644 (file)
@@ -139,7 +139,7 @@ for.end:                                          ; preds = %for.body, %entry
 ; Consequently, we should *not* form any chains.
 ;
 ; A9: foldedidx:
-; A9: ldrb{{(.w)?}} {{r[0-9]|lr}}, [{{r[0-9]|lr}}, #403]
+; A9: ldrb{{(.w)?}} {{r[0-9]|lr}}, [{{r[0-9]|lr}}, #3]
 define void @foldedidx(i8* nocapture %a, i8* nocapture %b, i8* nocapture %c) nounwind ssp {
 entry:
   br label %for.body