summaryrefslogtreecommitdiffstats
path: root/llvm/test/Transforms/GVN/crash.ll
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/test/Transforms/GVN/crash.ll')
-rw-r--r--llvm/test/Transforms/GVN/crash.ll43
1 files changed, 43 insertions, 0 deletions
diff --git a/llvm/test/Transforms/GVN/crash.ll b/llvm/test/Transforms/GVN/crash.ll
index 30563cd5848..9167b6ec684 100644
--- a/llvm/test/Transforms/GVN/crash.ll
+++ b/llvm/test/Transforms/GVN/crash.ll
@@ -92,3 +92,46 @@ bb64.i: ; Unreachable
bb66.i: ; Unreachable
br label %bb69.i
}
+
+
+
+; rdar://7438974
+
+@g = external global i64, align 8
+
+define i32* @foo() {
+do.end17.i:
+ %tmp18.i = load i7** undef
+ %tmp1 = bitcast i7* %tmp18.i to i8*
+ br i1 undef, label %do.body36.i, label %if.then21.i
+
+if.then21.i:
+ %tmp2 = bitcast i7* %tmp18.i to i8*
+ ret i32* undef
+
+do.body36.i:
+ %ivar38.i = load i64* @g
+ %tmp3 = bitcast i7* %tmp18.i to i8*
+ %add.ptr39.sum.i = add i64 %ivar38.i, 8
+ %tmp40.i = getelementptr inbounds i8* %tmp3, i64 %add.ptr39.sum.i
+ %tmp4 = bitcast i8* %tmp40.i to i64*
+ %tmp41.i = load i64* %tmp4
+ br i1 undef, label %if.then48.i, label %do.body57.i
+
+if.then48.i:
+ %call54.i = call i32 @foo2()
+ br label %do.body57.i
+
+do.body57.i:
+ %tmp58.i = load i7** undef
+ %ivar59.i = load i64* @g
+ %tmp5 = bitcast i7* %tmp58.i to i8*
+ %add.ptr65.sum.i = add i64 %ivar59.i, 8
+ %tmp66.i = getelementptr inbounds i8* %tmp5, i64 %add.ptr65.sum.i
+ %tmp6 = bitcast i8* %tmp66.i to i64*
+ %tmp67.i = load i64* %tmp6
+ ret i32* undef
+}
+
+declare i32 @foo2()
+
OpenPOWER on IntegriCloud