summaryrefslogtreecommitdiffstats
path: root/llvm/test/Transforms/LoopStrengthReduce
diff options
context:
space:
mode:
authorAndrew Trick <atrick@apple.com>2011-03-18 16:50:32 +0000
committerAndrew Trick <atrick@apple.com>2011-03-18 16:50:32 +0000
commit1c4b42d00f8cad70582e9afc6d1dbdab8253e2ab (patch)
tree1684a357805a4974fc2737566f1e1294cf1b513c /llvm/test/Transforms/LoopStrengthReduce
parent6e31408af1ed463b5f0290085b6dd2f6fff83ed1 (diff)
downloadbcm5719-llvm-1c4b42d00f8cad70582e9afc6d1dbdab8253e2ab.tar.gz
bcm5719-llvm-1c4b42d00f8cad70582e9afc6d1dbdab8253e2ab.zip
Avoid creating canonical induction variables for non-native types.
For example, on 32-bit architecture, don't promote all uses of the IV to 64-bits just because one use is a 64-bit cast. Alternate implementation of the patch by Arnaud de Grandmaison. llvm-svn: 127884
Diffstat (limited to 'llvm/test/Transforms/LoopStrengthReduce')
-rw-r--r--llvm/test/Transforms/LoopStrengthReduce/invariant_value_first.ll3
-rw-r--r--llvm/test/Transforms/LoopStrengthReduce/invariant_value_first_arg.ll3
-rw-r--r--llvm/test/Transforms/LoopStrengthReduce/ops_after_indvar.ll4
-rw-r--r--llvm/test/Transforms/LoopStrengthReduce/var_stride_used_by_compare.ll2
4 files changed, 8 insertions, 4 deletions
diff --git a/llvm/test/Transforms/LoopStrengthReduce/invariant_value_first.ll b/llvm/test/Transforms/LoopStrengthReduce/invariant_value_first.ll
index 4094e9c7e4d..986a55a3f6c 100644
--- a/llvm/test/Transforms/LoopStrengthReduce/invariant_value_first.ll
+++ b/llvm/test/Transforms/LoopStrengthReduce/invariant_value_first.ll
@@ -1,7 +1,8 @@
; Check that the index of 'P[outer]' is pulled out of the loop.
-; RUN: opt < %s -loop-reduce -S -default-data-layout="e-p:32:32:32" | \
+; RUN: opt < %s -loop-reduce -S | \
; RUN: not grep {getelementptr.*%outer.*%INDVAR}
+target datalayout = "e-p:32:32:32-n:8:16:32"
declare i1 @pred()
declare i32 @foo()
diff --git a/llvm/test/Transforms/LoopStrengthReduce/invariant_value_first_arg.ll b/llvm/test/Transforms/LoopStrengthReduce/invariant_value_first_arg.ll
index e2aed78c32e..1d43961c356 100644
--- a/llvm/test/Transforms/LoopStrengthReduce/invariant_value_first_arg.ll
+++ b/llvm/test/Transforms/LoopStrengthReduce/invariant_value_first_arg.ll
@@ -1,7 +1,8 @@
; Check that the index of 'P[outer]' is pulled out of the loop.
-; RUN: opt < %s -loop-reduce -S -default-data-layout="e-p:32:32:32" | \
+; RUN: opt < %s -loop-reduce -S | \
; RUN: not grep {getelementptr.*%outer.*%INDVAR}
+target datalayout = "e-p:32:32:32-n:32"
declare i1 @pred()
define void @test([10000 x i32]* %P, i32 %outer) {
diff --git a/llvm/test/Transforms/LoopStrengthReduce/ops_after_indvar.ll b/llvm/test/Transforms/LoopStrengthReduce/ops_after_indvar.ll
index 410d88f672b..00bd068d0b8 100644
--- a/llvm/test/Transforms/LoopStrengthReduce/ops_after_indvar.ll
+++ b/llvm/test/Transforms/LoopStrengthReduce/ops_after_indvar.ll
@@ -1,7 +1,9 @@
; Check that this test makes INDVAR and related stuff dead, because P[indvar]
; gets reduced, making INDVAR dead.
-; RUN: opt < %s -loop-reduce -S -default-data-layout="e-p:32:32:32" | not grep INDVAR
+; RUN: opt < %s -loop-reduce -S | not grep INDVAR
+
+target datalayout = "e-p:32:32:32-n:32"
declare i1 @pred()
diff --git a/llvm/test/Transforms/LoopStrengthReduce/var_stride_used_by_compare.ll b/llvm/test/Transforms/LoopStrengthReduce/var_stride_used_by_compare.ll
index 0a9fab0d5ea..7547d836292 100644
--- a/llvm/test/Transforms/LoopStrengthReduce/var_stride_used_by_compare.ll
+++ b/llvm/test/Transforms/LoopStrengthReduce/var_stride_used_by_compare.ll
@@ -9,7 +9,7 @@
; mul uint %i, 3
-target datalayout = "e-p:32:32"
+target datalayout = "e-p:32:32-n:32"
target triple = "i686-apple-darwin8"
@flags2 = external global [8193 x i8], align 32 ; <[8193 x i8]*> [#uses=1]
OpenPOWER on IntegriCloud