blob: 192f07a413b553d112371b07d3c892b00892e1d8 [file] [log] [blame]
Tanya Lattner9bc243b2008-03-01 07:38:40 +00001; RUN: llvm-as < %s | llvm-dis > %t1.ll
Chris Lattner6dc7e682005-05-06 22:33:44 +00002; RUN: llvm-as %t1.ll -o - | llvm-dis > %t2.ll
3; RUN: diff %t1.ll %t2.ll
4
Tanya Lattner9bc243b2008-03-01 07:38:40 +00005define fastcc void @foo() {
6 ret void
Chris Lattner6dc7e682005-05-06 22:33:44 +00007}
8
Tanya Lattner9bc243b2008-03-01 07:38:40 +00009define coldcc void @bar() {
10 call fastcc void @foo( )
11 ret void
Chris Lattner6dc7e682005-05-06 22:33:44 +000012}
13
Tanya Lattner9bc243b2008-03-01 07:38:40 +000014define void @structret({ i8 }* sret %P) {
15 call void @structret( { i8 }* sret %P )
16 ret void
Chris Lattnera831a6c2006-05-19 22:00:54 +000017}
18
Tanya Lattner9bc243b2008-03-01 07:38:40 +000019define void @foo2() {
20 ret void
Chris Lattner6dc7e682005-05-06 22:33:44 +000021}
22
Tanya Lattner9bc243b2008-03-01 07:38:40 +000023define coldcc void @bar2() {
24 call fastcc void @foo( )
25 ret void
Chris Lattner6dc7e682005-05-06 22:33:44 +000026}
27
Tanya Lattner9bc243b2008-03-01 07:38:40 +000028define cc42 void @bar3() {
Bill Wendling76cf7792011-08-25 01:30:18 +000029 invoke fastcc void @foo( )
30 to label %Ok unwind label %U
Tanya Lattner9bc243b2008-03-01 07:38:40 +000031
Bill Wendling76cf7792011-08-25 01:30:18 +000032Ok:
33 ret void
Tanya Lattner9bc243b2008-03-01 07:38:40 +000034
Bill Wendling76cf7792011-08-25 01:30:18 +000035U:
36 %exn = landingpad {i8*, i32} personality i32 (...)* @__gxx_personality_v0
37 cleanup
38 resume { i8*, i32 } %exn
Chris Lattner6dc7e682005-05-06 22:33:44 +000039}
40
Tanya Lattner9bc243b2008-03-01 07:38:40 +000041define void @bar4() {
Bill Wendling76cf7792011-08-25 01:30:18 +000042 call cc42 void @bar( )
43 invoke cc42 void @bar3( )
44 to label %Ok unwind label %U
Chris Lattner6dc7e682005-05-06 22:33:44 +000045
Bill Wendling76cf7792011-08-25 01:30:18 +000046Ok:
47 ret void
Tanya Lattner9bc243b2008-03-01 07:38:40 +000048
Bill Wendling76cf7792011-08-25 01:30:18 +000049U:
50 %exn = landingpad {i8*, i32} personality i32 (...)* @__gxx_personality_v0
51 cleanup
52 resume { i8*, i32 } %exn
Chris Lattner6dc7e682005-05-06 22:33:44 +000053}
54
Bill Wendling76cf7792011-08-25 01:30:18 +000055declare i32 @__gxx_personality_v0(...)