diff options
Diffstat (limited to 'llvm/test/Transforms/SCCP/apint-ipsccp2.ll')
-rw-r--r-- | llvm/test/Transforms/SCCP/apint-ipsccp2.ll | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/llvm/test/Transforms/SCCP/apint-ipsccp2.ll b/llvm/test/Transforms/SCCP/apint-ipsccp2.ll new file mode 100644 index 00000000000..77fb6968258 --- /dev/null +++ b/llvm/test/Transforms/SCCP/apint-ipsccp2.ll @@ -0,0 +1,21 @@ +; RUN: llvm-as < %s | opt -ipsccp | llvm-dis -o /dev/null -f && +; RUN: llvm-as < %s | opt -ipsccp | llvm-dis | grep -v 'ret i101 0' | \ +; RUN: grep -v 'ret i101 undef' | not grep ret + + + +define internal i101 @bar(i101 %A) { + %x = icmp eq i101 %A, 0 + br i1 %x, label %T, label %F +T: + %B = call i101 @bar(i101 0) + ret i101 0 +F: ; unreachable + %C = call i101 @bar(i101 1) + ret i101 %C +} + +define i101 @foo() { + %X = call i101 @bar(i101 0) + ret i101 %X +} |