summaryrefslogtreecommitdiff
path: root/test/Transforms/Mem2Reg/2003-10-05-DeadPHIInsertion.ll
diff options
context:
space:
mode:
Diffstat (limited to 'test/Transforms/Mem2Reg/2003-10-05-DeadPHIInsertion.ll')
-rw-r--r--test/Transforms/Mem2Reg/2003-10-05-DeadPHIInsertion.ll27
1 files changed, 14 insertions, 13 deletions
diff --git a/test/Transforms/Mem2Reg/2003-10-05-DeadPHIInsertion.ll b/test/Transforms/Mem2Reg/2003-10-05-DeadPHIInsertion.ll
index ab4b6619dc..5a27b20ca5 100644
--- a/test/Transforms/Mem2Reg/2003-10-05-DeadPHIInsertion.ll
+++ b/test/Transforms/Mem2Reg/2003-10-05-DeadPHIInsertion.ll
@@ -1,21 +1,22 @@
; Mem2reg should not insert dead PHI nodes! The naive algorithm inserts a PHI
; node in L3, even though there is no load of %A in anything dominated by L3.
-; RUN: llvm-upgrade < %s | llvm-as | opt -mem2reg | llvm-dis | not grep phi
+; RUN: llvm-as < %s | opt -mem2reg | llvm-dis | not grep phi
-void %test(int %B, bool %C) {
- %A = alloca int
- store int %B, int* %A
- br bool %C, label %L1, label %L2
-L1:
- store int %B, int* %A
- %D = load int* %A
- call void %test(int %D, bool false)
+define void @test(i32 %B, i1 %C) {
+ %A = alloca i32 ; <i32*> [#uses=4]
+ store i32 %B, i32* %A
+ br i1 %C, label %L1, label %L2
+L1: ; preds = %0
+ store i32 %B, i32* %A
+ %D = load i32* %A ; <i32> [#uses=1]
+ call void @test( i32 %D, i1 false )
br label %L3
-L2:
- %E = load int* %A
- call void %test(int %E, bool true)
+L2: ; preds = %0
+ %E = load i32* %A ; <i32> [#uses=1]
+ call void @test( i32 %E, i1 true )
br label %L3
-L3:
+L3: ; preds = %L2, %L1
ret void
}
+