aboutsummaryrefslogtreecommitdiffstats
path: root/test/Transforms/IndVarSimplify/dangling-use.ll
diff options
context:
space:
mode:
authorDan Gohman <gohman@apple.com>2010-04-02 14:48:31 +0000
committerDan Gohman <gohman@apple.com>2010-04-02 14:48:31 +0000
commitd7bfd0028b273f2e3935e8c7ff95db6fa2b21789 (patch)
treeb9ec0d98e7b147ce3b71e5279231e7e17274158f /test/Transforms/IndVarSimplify/dangling-use.ll
parent86bfd34ece523d863282ef2a2e4cf451c387c559 (diff)
downloadexternal_llvm-d7bfd0028b273f2e3935e8c7ff95db6fa2b21789.zip
external_llvm-d7bfd0028b273f2e3935e8c7ff95db6fa2b21789.tar.gz
external_llvm-d7bfd0028b273f2e3935e8c7ff95db6fa2b21789.tar.bz2
Manually notify ScalarEvolution before making an operand replacement, since
it can't currently observe such changes automatically. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100186 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/Transforms/IndVarSimplify/dangling-use.ll')
-rw-r--r--test/Transforms/IndVarSimplify/dangling-use.ll41
1 files changed, 41 insertions, 0 deletions
diff --git a/test/Transforms/IndVarSimplify/dangling-use.ll b/test/Transforms/IndVarSimplify/dangling-use.ll
new file mode 100644
index 0000000..51c3120
--- /dev/null
+++ b/test/Transforms/IndVarSimplify/dangling-use.ll
@@ -0,0 +1,41 @@
+; RUN: opt -indvars -disable-output < %s
+
+target datalayout = "E-p:32:32:32-i1:8:8-i8:8:8-i8:16:16-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:64:64-v128:128:128-a0:0:64-f128:64:128-n32"
+target triple = "powerpc-apple-darwin11"
+
+define void @vec_inverse_5_7_vert_loop_copyseparate(i8* %x, i32 %n, i32 %rowbytes) nounwind {
+entry:
+ %tmp1 = sdiv i32 %n, 3 ; <i32> [#uses=1]
+ %tmp2 = sdiv i32 %rowbytes, 5 ; <i32> [#uses=2]
+ br label %bb49
+
+bb49: ; preds = %bb48, %entry
+ %x_addr.0 = phi i8* [ %x, %entry ], [ %tmp481, %bb48 ] ; <i8*> [#uses=2]
+ br label %bb10
+
+bb10: ; preds = %bb49
+ %tmp326 = mul nsw i32 %tmp1, %tmp2 ; <i32> [#uses=1]
+ %tmp351 = getelementptr inbounds i8* %x_addr.0, i32 %tmp326 ; <i8*> [#uses=1]
+ br i1 false, label %bb.nph, label %bb48
+
+bb.nph: ; preds = %bb10
+ br label %bb23
+
+bb23: ; preds = %bb28, %bb.nph
+ %pOriginHi.01 = phi i8* [ %tmp351, %bb.nph ], [ %pOriginHi.0, %bb28 ] ; <i8*> [#uses=2]
+ %tmp378 = bitcast i8* %pOriginHi.01 to i8* ; <i8*> [#uses=1]
+ store i8* %tmp378, i8** null
+ %tmp385 = getelementptr inbounds i8* %pOriginHi.01, i32 %tmp2 ; <i8*> [#uses=1]
+ br label %bb28
+
+bb28: ; preds = %bb23
+ %pOriginHi.0 = phi i8* [ %tmp385, %bb23 ] ; <i8*> [#uses=1]
+ br i1 false, label %bb23, label %bb28.bb48_crit_edge
+
+bb28.bb48_crit_edge: ; preds = %bb28
+ br label %bb48
+
+bb48: ; preds = %bb28.bb48_crit_edge, %bb10
+ %tmp481 = getelementptr inbounds i8* %x_addr.0, i32 1 ; <i8*> [#uses=1]
+ br label %bb49
+}