llvm-6502/test/ExecutionEngine/2003-10-18-PHINode-ConstantExpr-CondCode-Failure.ll
2006-12-03 16:17:19 +00:00

31 lines
543 B
LLVM

; RUN: llvm-upgrade %s | llvm-as -f -o %t.bc
; RUN: lli %t.bc > /dev/null
%A = global int 0
int %main() {
%Ret = call int %test(bool true, int 0)
ret int %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
}