summaryrefslogtreecommitdiffstats
path: root/llvm/test/Transforms/LoopStrengthReduce
diff options
context:
space:
mode:
authorDan Gohman <gohman@apple.com>2009-05-27 21:10:47 +0000
committerDan Gohman <gohman@apple.com>2009-05-27 21:10:47 +0000
commit4d1823680d41578e398cc08b017faaca1f923e5d (patch)
tree508730796d0cf2ddb201c22f46916d29e204d4cf /llvm/test/Transforms/LoopStrengthReduce
parenta56159b7e99d7991cd2acd69d730ec21bcbcaaec (diff)
downloadbcm5719-llvm-4d1823680d41578e398cc08b017faaca1f923e5d.tar.gz
bcm5719-llvm-4d1823680d41578e398cc08b017faaca1f923e5d.zip
Revert 72493 and replace it with a more conservative fix, for now: don't
rewrite the comparison if there is any implicit extension or truncation on the induction variable. I'm planning for IVUsers to eventually take over some of the work of this code, and for it to be generalized. llvm-svn: 72496
Diffstat (limited to 'llvm/test/Transforms/LoopStrengthReduce')
-rw-r--r--llvm/test/Transforms/LoopStrengthReduce/change-compare-stride-trickiness-2.ll25
1 files changed, 25 insertions, 0 deletions
diff --git a/llvm/test/Transforms/LoopStrengthReduce/change-compare-stride-trickiness-2.ll b/llvm/test/Transforms/LoopStrengthReduce/change-compare-stride-trickiness-2.ll
index e3cb3a50953..f77aea39370 100644
--- a/llvm/test/Transforms/LoopStrengthReduce/change-compare-stride-trickiness-2.ll
+++ b/llvm/test/Transforms/LoopStrengthReduce/change-compare-stride-trickiness-2.ll
@@ -31,3 +31,28 @@ if.end52: ; preds = %for.cond.i.preheader
%indvar.next689 = add i64 %indvar688, 1 ; <i64> [#uses=1]
br i1 %phitmp654, label %for.cond.i.preheader, label %if.end
}
+
+define void @promote(%struct.dumperinfo* %di) nounwind {
+entry:
+ br label %if.end
+
+if.end: ; preds = %if.end52, %entry
+ br label %for.cond.i.preheader
+
+for.cond.i.preheader: ; preds = %if.end52, %if.end
+ %indvar688 = phi i32 [ 0, %if.end ], [ %indvar.next689, %if.end52 ] ; <i64> [#uses=3]
+ %tmp690 = shl i32 %indvar688, 12 ; <i64> [#uses=1]
+ %pa.0642 = add i32 %tmp690, 0 ; <i64> [#uses=1]
+ %tmp692693 = add i32 %indvar688, 1 ; <i32> [#uses=1]
+ %phitmp = sext i32 %tmp692693 to i64 ; <i64> [#uses=1]
+ br i1 false, label %if.end52, label %land.lhs.true.i
+
+land.lhs.true.i: ; preds = %for.cond.i.preheader
+ %shr2.i = lshr i32 %pa.0642, 18 ; <i64> [#uses=0]
+ unreachable
+
+if.end52: ; preds = %for.cond.i.preheader
+ %phitmp654 = icmp ult i64 %phitmp, 512 ; <i1> [#uses=1]
+ %indvar.next689 = add i32 %indvar688, 1 ; <i64> [#uses=1]
+ br i1 %phitmp654, label %for.cond.i.preheader, label %if.end
+}
OpenPOWER on IntegriCloud