aboutsummaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorDan Gohman <gohman@apple.com>2009-06-18 16:54:06 +0000
committerDan Gohman <gohman@apple.com>2009-06-18 16:54:06 +0000
commitdae43a260cf59bac6c92d436c11bec0cb8ce2d8b (patch)
tree9165002eee060048f64c69747335a732671e4078 /test
parent7ac1e4a3a18253179612363370539abc7e27b872 (diff)
downloadexternal_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.ll10
-rw-r--r--test/Transforms/IndVarSimplify/masked-iv.ll4
-rw-r--r--test/Transforms/IndVarSimplify/shrunk-constant.ll3
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: