diff options
-rw-r--r-- | test/Transforms/SCCP/2003-08-26-InvokeHandling.ll | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/test/Transforms/SCCP/2003-08-26-InvokeHandling.ll b/test/Transforms/SCCP/2003-08-26-InvokeHandling.ll new file mode 100644 index 0000000000..525f15201d --- /dev/null +++ b/test/Transforms/SCCP/2003-08-26-InvokeHandling.ll @@ -0,0 +1,15 @@ +; The PHI cannot be eliminated from this testcase, SCCP is mishandling invoke's! +; RUN: as < %s | opt -sccp | dis | grep phi + +declare void %foo() +int %test(bool %cond) { +Entry: + br bool %cond, label %Inv, label %Cont +Inv: + invoke void %foo() to label %Ok except label %Cont +Ok: + br label %Cont +Cont: + %X = phi int [0, %Entry], [1,%Ok], [0, %Inv] + ret int %X +} |