diff options
Diffstat (limited to 'test/ExecutionEngine/2003-10-18-PHINode-ConstantExpr-CondCode-Failure.ll')
-rw-r--r-- | test/ExecutionEngine/2003-10-18-PHINode-ConstantExpr-CondCode-Failure.ll | 42 |
1 files changed, 18 insertions, 24 deletions
diff --git a/test/ExecutionEngine/2003-10-18-PHINode-ConstantExpr-CondCode-Failure.ll b/test/ExecutionEngine/2003-10-18-PHINode-ConstantExpr-CondCode-Failure.ll index b2700e1..32d99d5 100644 --- a/test/ExecutionEngine/2003-10-18-PHINode-ConstantExpr-CondCode-Failure.ll +++ b/test/ExecutionEngine/2003-10-18-PHINode-ConstantExpr-CondCode-Failure.ll @@ -1,30 +1,24 @@ -; RUN: llvm-upgrade %s | llvm-as -f -o %t.bc +; RUN: llvm-as < %s -f -o %t.bc ; RUN: lli %t.bc > /dev/null -%A = global int 0 +@A = global i32 0 ; <i32*> [#uses=1] -int %main() { - %Ret = call int %test(bool true, int 0) - ret int %Ret +define i32 @main() { + %Ret = call i32 @test( i1 true, i32 0 ) ; <i32> [#uses=1] + ret i32 %Ret } -int %test(bool %c, int %A) { - br bool %c, label %Taken1, label %NotTaken - -Cont: - %V = phi int [0, %NotTaken], - [ sub (int cast (int* %A to int), int 1234), %Taken1] - ret int 0 - -NotTaken: - br label %Cont - -Taken1: - %B = seteq int %A, 0 - ; Code got inserted here, breaking the condition code. - br bool %B, label %Cont, label %ExitError - -ExitError: - ret int 12 - +define i32 @test(i1 %c, i32 %A) { + br i1 %c, label %Taken1, label %NotTaken +Cont: ; preds = %Taken1, %NotTaken + %V = phi i32 [ 0, %NotTaken ], [ sub (i32 ptrtoint (i32* @A to i32), i32 1234), %Taken1 ] ; <i32> [#uses=0] + ret i32 0 +NotTaken: ; preds = %0 + br label %Cont +Taken1: ; preds = %0 + %B = icmp eq i32 %A, 0 ; <i1> [#uses=1] + br i1 %B, label %Cont, label %ExitError +ExitError: ; preds = %Taken1 + ret i32 12 } + |