diff options
author | Dan Gohman <gohman@apple.com> | 2009-06-18 16:54:06 +0000 |
---|---|---|
committer | Dan Gohman <gohman@apple.com> | 2009-06-18 16:54:06 +0000 |
commit | dae43a260cf59bac6c92d436c11bec0cb8ce2d8b (patch) | |
tree | 9165002eee060048f64c69747335a732671e4078 /test | |
parent | 7ac1e4a3a18253179612363370539abc7e27b872 (diff) | |
download | external_llvm-dae43a260cf59bac6c92d436c11bec0cb8ce2d8b.zip external_llvm-dae43a260cf59bac6c92d436c11bec0cb8ce2d8b.tar.gz external_llvm-dae43a260cf59bac6c92d436c11bec0cb8ce2d8b.tar.bz2 |
Remove the code from IVUsers that attempted to handle
casted induction variables in cases where the cast
isn't foldable. It ended up being a pessimization in
many cases. This could be fixed, but it would require
a bunch of complicated code in IVUsers' clients. The
advantages of this approach aren't visible enough to
justify it at this time.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73706 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test')
-rw-r--r-- | test/CodeGen/X86/iv-users-in-other-loops.ll | 10 | ||||
-rw-r--r-- | test/Transforms/IndVarSimplify/masked-iv.ll | 4 | ||||
-rw-r--r-- | test/Transforms/IndVarSimplify/shrunk-constant.ll | 3 |
3 files changed, 10 insertions, 7 deletions
diff --git a/test/CodeGen/X86/iv-users-in-other-loops.ll b/test/CodeGen/X86/iv-users-in-other-loops.ll index 2208b2d..a48f061 100644 --- a/test/CodeGen/X86/iv-users-in-other-loops.ll +++ b/test/CodeGen/X86/iv-users-in-other-loops.ll @@ -1,11 +1,11 @@ ; RUN: llvm-as < %s | llc -march=x86-64 -f -o %t ; RUN: grep inc %t | count 1 ; RUN: grep dec %t | count 2 -; RUN: grep addq %t | count 8 -; RUN: grep addb %t | count 2 -; RUN: grep leaq %t | count 12 -; RUN: grep leal %t | count 2 -; RUN: grep movq %t | count 4 +; RUN: grep addq %t | count 13 +; RUN: not grep addb %t +; RUN: grep leaq %t | count 8 +; RUN: grep leal %t | count 4 +; RUN: grep movq %t | count 5 ; IV users in each of the loops from other loops shouldn't cause LSR ; to insert new induction variables. Previously it would create a diff --git a/test/Transforms/IndVarSimplify/masked-iv.ll b/test/Transforms/IndVarSimplify/masked-iv.ll index c7583c9..f77b935 100644 --- a/test/Transforms/IndVarSimplify/masked-iv.ll +++ b/test/Transforms/IndVarSimplify/masked-iv.ll @@ -1,4 +1,6 @@ -; RUN: llvm-as < %s | opt -indvars | llvm-dis | grep trunc | count 1 +; RUN: llvm-as < %s | opt -indvars | llvm-dis > %t +; RUN: not grep trunc %t +; RUN: grep and %t | count 1 ; Indvars should do the IV arithmetic in the canonical IV type (i64), ; and only use one truncation. diff --git a/test/Transforms/IndVarSimplify/shrunk-constant.ll b/test/Transforms/IndVarSimplify/shrunk-constant.ll index f1caf14..0b2ecaf 100644 --- a/test/Transforms/IndVarSimplify/shrunk-constant.ll +++ b/test/Transforms/IndVarSimplify/shrunk-constant.ll @@ -1,4 +1,5 @@ -; RUN: llvm-as < %s | opt -iv-users -analyze -disable-output | grep store +; RUN: llvm-as < %s | opt -scalar-evolution -analyze -disable-output \ +; RUN: | grep {\\--> (zext i4 {-7,+,-8}<loop> to i32)} define fastcc void @foo() nounwind { entry: |