summaryrefslogtreecommitdiffstats
path: root/llvm/test/Transforms/ADCE/2005-02-17-PHI-Invoke-Crash.ll
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/test/Transforms/ADCE/2005-02-17-PHI-Invoke-Crash.ll')
-rw-r--r--llvm/test/Transforms/ADCE/2005-02-17-PHI-Invoke-Crash.ll44
1 files changed, 44 insertions, 0 deletions
diff --git a/llvm/test/Transforms/ADCE/2005-02-17-PHI-Invoke-Crash.ll b/llvm/test/Transforms/ADCE/2005-02-17-PHI-Invoke-Crash.ll
new file mode 100644
index 00000000000..b7965f08787
--- /dev/null
+++ b/llvm/test/Transforms/ADCE/2005-02-17-PHI-Invoke-Crash.ll
@@ -0,0 +1,44 @@
+; RUN: llvm-upgrade < %s | llvm-as | opt -adce -disable-output
+
+implementation ; Functions:
+
+declare void %strlen()
+declare void %_ZN10QByteArray6resizeEi()
+declare void %q_atomic_decrement()
+
+void %_ZNK10QByteArray13leftJustifiedEicb() {
+entry:
+ invoke void %strlen( )
+ to label %tmp.3.i.noexc unwind label %invoke_catch.0
+
+tmp.3.i.noexc: ; preds = %entry
+ br bool false, label %then.0, label %else.0
+
+invoke_catch.0: ; preds = %entry
+ invoke void %q_atomic_decrement( )
+ to label %tmp.1.i.i183.noexc unwind label %terminate
+
+tmp.1.i.i183.noexc: ; preds = %invoke_catch.0
+ unwind
+
+then.0: ; preds = %tmp.3.i.noexc
+ invoke void %_ZN10QByteArray6resizeEi( )
+ to label %invoke_cont.1 unwind label %invoke_catch.1
+
+invoke_catch.1: ; preds = %then.0
+ invoke void %q_atomic_decrement( )
+ to label %tmp.1.i.i162.noexc unwind label %terminate
+
+tmp.1.i.i162.noexc: ; preds = %invoke_catch.1
+ ret void
+
+invoke_cont.1: ; preds = %then.0
+ ret void
+
+else.0: ; preds = %tmp.3.i.noexc
+ ret void
+
+terminate: ; preds = %invoke_catch.1, %invoke_catch.0
+ %dbg.0.1 = phi { }* [ null, %invoke_catch.1 ], [ null, %invoke_catch.0 ] ; <{ }*> [#uses=1]
+ unreachable
+}
OpenPOWER on IntegriCloud