aboutsummaryrefslogtreecommitdiffstats
path: root/test/Transforms/ADCE
diff options
context:
space:
mode:
Diffstat (limited to 'test/Transforms/ADCE')
-rw-r--r--test/Transforms/ADCE/2003-09-10-UnwindInstFail.ll5
-rw-r--r--test/Transforms/ADCE/2004-05-04-UnreachableBlock.ll2
-rw-r--r--test/Transforms/ADCE/2005-02-17-PHI-Invoke-Crash.ll9
-rw-r--r--test/Transforms/ADCE/dce_pure_invoke.ll4
4 files changed, 17 insertions, 3 deletions
diff --git a/test/Transforms/ADCE/2003-09-10-UnwindInstFail.ll b/test/Transforms/ADCE/2003-09-10-UnwindInstFail.ll
index 444ca8e..6bbcfdb 100644
--- a/test/Transforms/ADCE/2003-09-10-UnwindInstFail.ll
+++ b/test/Transforms/ADCE/2003-09-10-UnwindInstFail.ll
@@ -8,7 +8,9 @@ then: ; preds = %0
to label %invoke_cont unwind label %invoke_catch
invoke_catch: ; preds = %then
- unwind
+ %exn = landingpad {i8*, i32} personality i32 (...)* @__gxx_personality_v0
+ cleanup
+ resume { i8*, i32 } %exn
invoke_cont: ; preds = %then
ret void
@@ -17,3 +19,4 @@ endif: ; preds = %0
ret void
}
+declare i32 @__gxx_personality_v0(...)
diff --git a/test/Transforms/ADCE/2004-05-04-UnreachableBlock.ll b/test/Transforms/ADCE/2004-05-04-UnreachableBlock.ll
index a6a41fd..7ee0f46 100644
--- a/test/Transforms/ADCE/2004-05-04-UnreachableBlock.ll
+++ b/test/Transforms/ADCE/2004-05-04-UnreachableBlock.ll
@@ -11,6 +11,6 @@ invoke_catch.0: ; No predecessors!
br i1 false, label %UnifiedUnwindBlock, label %UnifiedReturnBlock
UnifiedUnwindBlock: ; preds = %invoke_catch.0
- unwind
+ unreachable
}
diff --git a/test/Transforms/ADCE/2005-02-17-PHI-Invoke-Crash.ll b/test/Transforms/ADCE/2005-02-17-PHI-Invoke-Crash.ll
index 991e876..4ddc2f1 100644
--- a/test/Transforms/ADCE/2005-02-17-PHI-Invoke-Crash.ll
+++ b/test/Transforms/ADCE/2005-02-17-PHI-Invoke-Crash.ll
@@ -15,17 +15,21 @@ tmp.3.i.noexc: ; preds = %entry
br i1 false, label %then.0, label %else.0
invoke_catch.0: ; preds = %entry
+ %exn.0 = landingpad {i8*, i32} personality i32 (...)* @__gxx_personality_v0
+ cleanup
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
+ ret void
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
+ %exn.1 = landingpad {i8*, i32} personality i32 (...)* @__gxx_personality_v0
+ cleanup
invoke void @q_atomic_decrement( )
to label %tmp.1.i.i162.noexc unwind label %terminate
@@ -40,6 +44,9 @@ else.0: ; preds = %tmp.3.i.noexc
terminate: ; preds = %invoke_catch.1, %invoke_catch.0
%dbg.0.1 = phi { }* [ null, %invoke_catch.1 ], [ null, %invoke_catch.0 ] ; <{ }*> [#uses=0]
+ %exn = landingpad {i8*, i32} personality i32 (...)* @__gxx_personality_v0
+ cleanup
unreachable
}
+declare i32 @__gxx_personality_v0(...)
diff --git a/test/Transforms/ADCE/dce_pure_invoke.ll b/test/Transforms/ADCE/dce_pure_invoke.ll
index c16d45c..8e78518 100644
--- a/test/Transforms/ADCE/dce_pure_invoke.ll
+++ b/test/Transforms/ADCE/dce_pure_invoke.ll
@@ -11,5 +11,9 @@ Cont: ; preds = %0
ret i32 0
Other: ; preds = %0
+ %exn = landingpad {i8*, i32} personality i32 (...)* @__gxx_personality_v0
+ cleanup
ret i32 1
}
+
+declare i32 @__gxx_personality_v0(...)