diff options
Diffstat (limited to 'test/Transforms/Mem2Reg/2003-10-05-DeadPHIInsertion.ll')
-rw-r--r-- | test/Transforms/Mem2Reg/2003-10-05-DeadPHIInsertion.ll | 27 |
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 } + |