blob: d2e9de404fba7fdb348f6f59a24e4373cd9ce8e9 [file] [log] [blame]
Tanya Lattnerfc887452008-03-01 07:38:40 +00001; RUN: llvm-as < %s | llvm-dis > %t1.ll
Dan Gohmanf17a25c2007-07-18 16:29:46 +00002; RUN: llvm-as %t1.ll -o - | llvm-dis > %t2.ll
3; RUN: diff %t1.ll %t2.ll
4
Tanya Lattnerfc887452008-03-01 07:38:40 +00005define fastcc void @foo() {
6 ret void
Dan Gohmanf17a25c2007-07-18 16:29:46 +00007}
8
Tanya Lattnerfc887452008-03-01 07:38:40 +00009define coldcc void @bar() {
10 call fastcc void @foo( )
11 ret void
Dan Gohmanf17a25c2007-07-18 16:29:46 +000012}
13
Tanya Lattnerfc887452008-03-01 07:38:40 +000014define void @structret({ i8 }* sret %P) {
15 call void @structret( { i8 }* sret %P )
16 ret void
Dan Gohmanf17a25c2007-07-18 16:29:46 +000017}
18
Tanya Lattnerfc887452008-03-01 07:38:40 +000019define void @foo2() {
20 ret void
Dan Gohmanf17a25c2007-07-18 16:29:46 +000021}
22
Tanya Lattnerfc887452008-03-01 07:38:40 +000023define coldcc void @bar2() {
24 call fastcc void @foo( )
25 ret void
Dan Gohmanf17a25c2007-07-18 16:29:46 +000026}
27
Tanya Lattnerfc887452008-03-01 07:38:40 +000028define cc42 void @bar3() {
29 invoke fastcc void @foo( )
30 to label %Ok unwind label %U
31
32Ok: ; preds = %0
33 ret void
34
35U: ; preds = %0
36 unwind
Dan Gohmanf17a25c2007-07-18 16:29:46 +000037}
38
Tanya Lattnerfc887452008-03-01 07:38:40 +000039define void @bar4() {
40 call cc42 void @bar( )
41 invoke cc42 void @bar3( )
42 to label %Ok unwind label %U
Dan Gohmanf17a25c2007-07-18 16:29:46 +000043
Tanya Lattnerfc887452008-03-01 07:38:40 +000044Ok: ; preds = %0
45 ret void
46
47U: ; preds = %0
48 unwind
Dan Gohmanf17a25c2007-07-18 16:29:46 +000049}
50