summaryrefslogtreecommitdiff
path: root/test/Transforms/NewGVN/bitcast-of-call.ll
diff options
context:
space:
mode:
Diffstat (limited to 'test/Transforms/NewGVN/bitcast-of-call.ll')
-rw-r--r--test/Transforms/NewGVN/bitcast-of-call.ll18
1 files changed, 12 insertions, 6 deletions
diff --git a/test/Transforms/NewGVN/bitcast-of-call.ll b/test/Transforms/NewGVN/bitcast-of-call.ll
index 7b25038275b51..2b817fbcd01c1 100644
--- a/test/Transforms/NewGVN/bitcast-of-call.ll
+++ b/test/Transforms/NewGVN/bitcast-of-call.ll
@@ -1,14 +1,20 @@
-; XFAIL: *
+; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
; RUN: opt < %s -newgvn -S | FileCheck %s
; PR2213
define i32* @f(i8* %x) {
+; CHECK-LABEL: @f(
+; CHECK-NEXT: entry:
+; CHECK-NEXT: [[TMP:%.*]] = call i8* @m(i32 12)
+; CHECK-NEXT: [[TMP1:%.*]] = bitcast i8* [[TMP]] to i32*
+; CHECK-NEXT: ret i32* [[TMP1]]
+;
entry:
- %tmp = call i8* @m( i32 12 ) ; <i8*> [#uses=2]
- %tmp1 = bitcast i8* %tmp to i32* ; <i32*> [#uses=0]
- %tmp2 = bitcast i8* %tmp to i32* ; <i32*> [#uses=0]
-; CHECK-NOT: %tmp2
- ret i32* %tmp2
+ %tmp = call i8* @m( i32 12 ) ; <i8*> [#uses=2]
+ %tmp1 = bitcast i8* %tmp to i32* ; <i32*> [#uses=0]
+ %tmp3 = bitcast i32* %tmp1 to i8*
+ %tmp2 = bitcast i8* %tmp3 to i32* ; <i32*> [#uses=0]
+ ret i32* %tmp2
}
declare i8* @m(i32)