diff options
author | Evgeny Stupachenko <evstupac@gmail.com> | 2017-02-21 07:34:40 +0000 |
---|---|---|
committer | Evgeny Stupachenko <evstupac@gmail.com> | 2017-02-21 07:34:40 +0000 |
commit | 9909872e30b26cc58d1c08b4206311a4c5bbc118 (patch) | |
tree | a39566b123d5d01b846ad74912cf0897342a345c /llvm/test/Transforms/LoopStrengthReduce | |
parent | 60f1fe8438712d7a59649393bee5422b4073abe7 (diff) | |
download | bcm5719-llvm-9909872e30b26cc58d1c08b4206311a4c5bbc118.tar.gz bcm5719-llvm-9909872e30b26cc58d1c08b4206311a4c5bbc118.zip |
The patch introduces new way of narrowing complex (>UINT16 variants) solutions.
The new method introduced under "-lsr-exp-narrow" option (currenlty set to true).
Summary:
The method is based on registers number mathematical expectation and should be
generally closer to optimal solution.
Please see details in comments to
"LSRInstance::NarrowSearchSpaceByDeletingCostlyFormulas()" function
(in lib/Transforms/Scalar/LoopStrengthReduce.cpp).
Reviewers: qcolombet
Differential Revision: http://reviews.llvm.org/D29862
From: Evgeny Stupachenko <evstupac@gmail.com>
llvm-svn: 295704
Diffstat (limited to 'llvm/test/Transforms/LoopStrengthReduce')
-rw-r--r-- | llvm/test/Transforms/LoopStrengthReduce/2013-01-14-ReuseCast.ll | 2 | ||||
-rw-r--r-- | llvm/test/Transforms/LoopStrengthReduce/ARM/ivchain-ARM.ll | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/llvm/test/Transforms/LoopStrengthReduce/2013-01-14-ReuseCast.ll b/llvm/test/Transforms/LoopStrengthReduce/2013-01-14-ReuseCast.ll index dcd068191e1..2a83bea12e2 100644 --- a/llvm/test/Transforms/LoopStrengthReduce/2013-01-14-ReuseCast.ll +++ b/llvm/test/Transforms/LoopStrengthReduce/2013-01-14-ReuseCast.ll @@ -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 %tmp5, 1 +; CHECK: [[TMP:%[^ ]+]] = add i64 %4, 1 ; CHECK: sub i64 [[TMP]], %tmp6 ; CHECK: ret void define void @VerifyDiagnosticConsumerTest() unnamed_addr nounwind uwtable align 2 { diff --git a/llvm/test/Transforms/LoopStrengthReduce/ARM/ivchain-ARM.ll b/llvm/test/Transforms/LoopStrengthReduce/ARM/ivchain-ARM.ll index 78884210108..bd2f9f3b7e0 100644 --- a/llvm/test/Transforms/LoopStrengthReduce/ARM/ivchain-ARM.ll +++ b/llvm/test/Transforms/LoopStrengthReduce/ARM/ivchain-ARM.ll @@ -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}}, #3] +; A9: ldrb{{(.w)?}} {{r[0-9]|lr}}, [{{r[0-9]|lr}}, #403] define void @foldedidx(i8* nocapture %a, i8* nocapture %b, i8* nocapture %c) nounwind ssp { entry: br label %for.body |