diff options
author | Dan Gohman <gohman@apple.com> | 2009-05-24 18:06:31 +0000 |
---|---|---|
committer | Dan Gohman <gohman@apple.com> | 2009-05-24 18:06:31 +0000 |
commit | 453aa4fbf1083cc7f646a0ac21e2bcc384a91ae9 (patch) | |
tree | aff2e6588c8b2da406dbb8be182a0a2fb8044a59 /test/Transforms/IndVarSimplify/gep-with-mul-base.ll | |
parent | 3925043af0ecf1f0a6158c5007c1186797a252cb (diff) | |
download | external_llvm-453aa4fbf1083cc7f646a0ac21e2bcc384a91ae9.zip external_llvm-453aa4fbf1083cc7f646a0ac21e2bcc384a91ae9.tar.gz external_llvm-453aa4fbf1083cc7f646a0ac21e2bcc384a91ae9.tar.bz2 |
Generalize SCEVExpander::visitAddRecExpr's GEP persuit, and avoid
sending SCEVUnknowns to expandAddToGEP. This avoids the need for
expandAddToGEP to bend the rules and peek into SCEVUnknown
expressions.
Factor out the code for testing whether a SCEV can be factored by
a constant for use in a GEP index. This allows it to handle
SCEVAddRecExprs, by recursing.
As a result, SCEVExpander can now put more things in GEP indices,
so it emits fewer explicit mul instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72366 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/Transforms/IndVarSimplify/gep-with-mul-base.ll')
-rw-r--r-- | test/Transforms/IndVarSimplify/gep-with-mul-base.ll | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/test/Transforms/IndVarSimplify/gep-with-mul-base.ll b/test/Transforms/IndVarSimplify/gep-with-mul-base.ll index 0e5e106..e63c88c 100644 --- a/test/Transforms/IndVarSimplify/gep-with-mul-base.ll +++ b/test/Transforms/IndVarSimplify/gep-with-mul-base.ll @@ -1,6 +1,6 @@ ; RUN: llvm-as < %s | opt -indvars | llvm-dis > %t ; RUN: grep add %t | count 8 -; RUN: grep mul %t | count 9 +; RUN: grep mul %t | count 7 define void @foo(i64 %n, i64 %m, i64 %o, double* nocapture %p) nounwind { entry: |