Use the llvm-upgrade program to upgrade llvm assembly.
[oota-llvm.git] / test / Feature / callingconventions.ll
1 ; RUN: llvm-upgrade < %s | llvm-as | llvm-dis > %t1.ll
2 ; RUN: llvm-as %t1.ll -o - | llvm-dis > %t2.ll
3 ; RUN: diff %t1.ll %t2.ll
4
5 fastcc void %foo() {
6   ret void
7 }
8
9 coldcc void %bar() {
10   call fastcc void %foo()
11   ret void
12 }
13
14 csretcc void %structret({sbyte}* %P) {
15   call csretcc void %structret({sbyte}* %P)
16   ret void
17 }
18
19
20 cc0 void %foo2() {
21   ret void
22 }
23
24 coldcc void %bar2() {
25   call fastcc void %foo()
26   ret void
27 }
28
29 cc42 void %bar3() {
30   invoke fastcc void %foo() to label %Ok unwind label %U
31 Ok:
32   ret void
33 U:
34   unwind
35 }
36
37
38 void %bar4() {
39   call cc42 void %bar()
40   invoke cc42 void %bar3() to label %Ok unwind label %U
41 Ok:
42   ret void
43 U:
44   unwind
45 }
46
47