diff options
Diffstat (limited to 'test/ExecutionEngine/test-phi.ll')
-rw-r--r-- | test/ExecutionEngine/test-phi.ll | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/test/ExecutionEngine/test-phi.ll b/test/ExecutionEngine/test-phi.ll new file mode 100644 index 0000000..e50cbad --- /dev/null +++ b/test/ExecutionEngine/test-phi.ll @@ -0,0 +1,32 @@ +; RUN: llvm-upgrade %s | llvm-as -f -o %t.bc +; RUN: lli %t.bc > /dev/null + +; test phi node + +%Y = global int 6 + +void %blah(int *%X) { + br label %T +T: + phi int* [%X, %0], [%Y, %Dead] + ret void +Dead: + br label %T +} + +int %test(bool %C) { + br bool %C, label %T, label %T +T: + %X = phi int [123, %0], [123, %0] + ret int %X +} + +int %main() { + br label %Test +Test: + %X = phi int [0, %0], [%Y, %Dead] + ret int %X +Dead: + %Y = shr int 12, ubyte 4 + br label %Test +} |