aboutsummaryrefslogtreecommitdiffstats
path: root/test/Transforms/IndVarSimplify/preserve-gep-nested.ll
diff options
context:
space:
mode:
authorAndrew Trick <atrick@apple.com>2011-09-12 20:26:34 +0000
committerAndrew Trick <atrick@apple.com>2011-09-12 20:26:34 +0000
commit26e5285f9fc63c83222b80984c590d9676a18e4f (patch)
tree95a177e252e4d541ebfcac7f5b4b8510da081d4e /test/Transforms/IndVarSimplify/preserve-gep-nested.ll
parent2bc3d52b9ab422ee9f7e42a1a4e3b818e623a5f7 (diff)
downloadexternal_llvm-26e5285f9fc63c83222b80984c590d9676a18e4f.zip
external_llvm-26e5285f9fc63c83222b80984c590d9676a18e4f.tar.gz
external_llvm-26e5285f9fc63c83222b80984c590d9676a18e4f.tar.bz2
Conditionalize indvars tests that rely on SCEV expansion of geps,
which is relevant with canonical IVs. Anything else being checked by these tests is already covered by early CSE. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139535 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/Transforms/IndVarSimplify/preserve-gep-nested.ll')
-rw-r--r--test/Transforms/IndVarSimplify/preserve-gep-nested.ll21
1 files changed, 11 insertions, 10 deletions
diff --git a/test/Transforms/IndVarSimplify/preserve-gep-nested.ll b/test/Transforms/IndVarSimplify/preserve-gep-nested.ll
index b41de58..613e30f 100644
--- a/test/Transforms/IndVarSimplify/preserve-gep-nested.ll
+++ b/test/Transforms/IndVarSimplify/preserve-gep-nested.ll
@@ -1,15 +1,16 @@
-; RUN: opt < %s -indvars -S > %t
-; Exactly one getelementptr for each load+store.
-; RUN: grep getelementptr %t | count 6
-; Each getelementptr using %struct.Q* %s as a base and not i8*.
-; RUN: grep {getelementptr \[%\]struct\\.Q\\* \[%\]s,} %t | count 6
+; RUN: opt < %s -indvars -S -enable-iv-rewrite | FileCheck %s
; No explicit integer multiplications!
-; RUN: not grep {= mul} %t
; No i8* arithmetic or pointer casting anywhere!
-; RUN: not grep {i8\\*} %t
-; RUN: not grep bitcast %t
-; RUN: not grep inttoptr %t
-; RUN: not grep ptrtoint %t
+; CHECK-NOT: = {{= mul|i8\*|bitcast|inttoptr|ptrtoint}}
+; Exactly one getelementptr for each load+store.
+; Each getelementptr using %struct.Q* %s as a base and not i8*.
+; CHECK: getelementptr %struct.Q* %s,
+; CHECK: getelementptr %struct.Q* %s,
+; CHECK: getelementptr %struct.Q* %s,
+; CHECK: getelementptr %struct.Q* %s,
+; CHECK: getelementptr %struct.Q* %s,
+; CHECK: getelementptr %struct.Q* %s,
+; CHECK-NOT: = {{= mul|i8\*|bitcast|inttoptr|ptrtoint}}
; FIXME: This test should pass with or without TargetData. Until opt
; supports running tests without targetdata, just hardware this in.