aboutsummaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/Feature/callingconventions.ll31
-rw-r--r--test/Feature/calltest.ll30
2 files changed, 35 insertions, 26 deletions
diff --git a/test/Feature/callingconventions.ll b/test/Feature/callingconventions.ll
index d2e9de4..192f07a 100644
--- a/test/Feature/callingconventions.ll
+++ b/test/Feature/callingconventions.ll
@@ -26,25 +26,30 @@ define coldcc void @bar2() {
}
define cc42 void @bar3() {
- invoke fastcc void @foo( )
- to label %Ok unwind label %U
+ invoke fastcc void @foo( )
+ to label %Ok unwind label %U
-Ok: ; preds = %0
- ret void
+Ok:
+ ret void
-U: ; preds = %0
- unwind
+U:
+ %exn = landingpad {i8*, i32} personality i32 (...)* @__gxx_personality_v0
+ cleanup
+ resume { i8*, i32 } %exn
}
define void @bar4() {
- call cc42 void @bar( )
- invoke cc42 void @bar3( )
- to label %Ok unwind label %U
+ call cc42 void @bar( )
+ invoke cc42 void @bar3( )
+ to label %Ok unwind label %U
-Ok: ; preds = %0
- ret void
+Ok:
+ ret void
-U: ; preds = %0
- unwind
+U:
+ %exn = landingpad {i8*, i32} personality i32 (...)* @__gxx_personality_v0
+ cleanup
+ resume { i8*, i32 } %exn
}
+declare i32 @__gxx_personality_v0(...)
diff --git a/test/Feature/calltest.ll b/test/Feature/calltest.ll
index dcdb1a0..e7d8e8d 100644
--- a/test/Feature/calltest.ll
+++ b/test/Feature/calltest.ll
@@ -5,26 +5,30 @@
%FunTy = type i32 (i32)
define void @invoke(%FunTy* %x) {
- %foo = call i32 %x( i32 123 ) ; <i32> [#uses=0]
- %foo2 = tail call i32 %x( i32 123 ) ; <i32> [#uses=0]
- ret void
+ %foo = call i32 %x( i32 123 ) ; <i32> [#uses=0]
+ %foo2 = tail call i32 %x( i32 123 ) ; <i32> [#uses=0]
+ ret void
}
define i32 @main(i32 %argc) {
- %retval = call i32 @test( i32 %argc ) ; <i32> [#uses=2]
- %two = add i32 %retval, %retval ; <i32> [#uses=1]
- %retval2 = invoke i32 @test( i32 %argc )
- to label %Next unwind label %Error ; <i32> [#uses=1]
+ %retval = call i32 @test( i32 %argc ) ; <i32> [#uses=2]
+ %two = add i32 %retval, %retval ; <i32> [#uses=1]
+ %retval2 = invoke i32 @test( i32 %argc )
+ to label %Next unwind label %Error ; <i32> [#uses=1]
-Next: ; preds = %0
- %two2 = add i32 %two, %retval2 ; <i32> [#uses=1]
- call void @invoke( %FunTy* @test )
- ret i32 %two2
+Next:
+ %two2 = add i32 %two, %retval2 ; <i32> [#uses=1]
+ call void @invoke( %FunTy* @test )
+ ret i32 %two2
-Error: ; preds = %0
- ret i32 -1
+Error:
+ %exn = landingpad {i8*, i32} personality i32 (...)* @__gxx_personality_v0
+ cleanup
+ ret i32 -1
}
define i32 @test(i32 %i0) {
ret i32 %i0
}
+
+declare i32 @__gxx_personality_v0(...)