Tanya Lattner | 9bc243b | 2008-03-01 07:38:40 +0000 | [diff] [blame] | 1 | ; RUN: llvm-as < %s | llvm-dis > %t1.ll |
Chris Lattner | 6dc7e68 | 2005-05-06 22:33:44 +0000 | [diff] [blame] | 2 | ; RUN: llvm-as %t1.ll -o - | llvm-dis > %t2.ll |
3 | ; RUN: diff %t1.ll %t2.ll | ||||
4 | |||||
Tanya Lattner | 9bc243b | 2008-03-01 07:38:40 +0000 | [diff] [blame] | 5 | define fastcc void @foo() { |
6 | ret void | ||||
Chris Lattner | 6dc7e68 | 2005-05-06 22:33:44 +0000 | [diff] [blame] | 7 | } |
8 | |||||
Tanya Lattner | 9bc243b | 2008-03-01 07:38:40 +0000 | [diff] [blame] | 9 | define coldcc void @bar() { |
10 | call fastcc void @foo( ) | ||||
11 | ret void | ||||
Chris Lattner | 6dc7e68 | 2005-05-06 22:33:44 +0000 | [diff] [blame] | 12 | } |
13 | |||||
Tanya Lattner | 9bc243b | 2008-03-01 07:38:40 +0000 | [diff] [blame] | 14 | define void @structret({ i8 }* sret %P) { |
15 | call void @structret( { i8 }* sret %P ) | ||||
16 | ret void | ||||
Chris Lattner | a831a6c | 2006-05-19 22:00:54 +0000 | [diff] [blame] | 17 | } |
18 | |||||
Tanya Lattner | 9bc243b | 2008-03-01 07:38:40 +0000 | [diff] [blame] | 19 | define void @foo2() { |
20 | ret void | ||||
Chris Lattner | 6dc7e68 | 2005-05-06 22:33:44 +0000 | [diff] [blame] | 21 | } |
22 | |||||
Tanya Lattner | 9bc243b | 2008-03-01 07:38:40 +0000 | [diff] [blame] | 23 | define coldcc void @bar2() { |
24 | call fastcc void @foo( ) | ||||
25 | ret void | ||||
Chris Lattner | 6dc7e68 | 2005-05-06 22:33:44 +0000 | [diff] [blame] | 26 | } |
27 | |||||
David Majnemer | cc714e2 | 2015-06-17 20:52:32 +0000 | [diff] [blame] | 28 | define cc42 void @bar3() personality i32 (...)* @__gxx_personality_v0 { |
Bill Wendling | 76cf779 | 2011-08-25 01:30:18 +0000 | [diff] [blame] | 29 | invoke fastcc void @foo( ) |
30 | to label %Ok unwind label %U | ||||
Tanya Lattner | 9bc243b | 2008-03-01 07:38:40 +0000 | [diff] [blame] | 31 | |
Bill Wendling | 76cf779 | 2011-08-25 01:30:18 +0000 | [diff] [blame] | 32 | Ok: |
33 | ret void | ||||
Tanya Lattner | 9bc243b | 2008-03-01 07:38:40 +0000 | [diff] [blame] | 34 | |
Bill Wendling | 76cf779 | 2011-08-25 01:30:18 +0000 | [diff] [blame] | 35 | U: |
David Majnemer | cc714e2 | 2015-06-17 20:52:32 +0000 | [diff] [blame] | 36 | %exn = landingpad {i8*, i32} |
Bill Wendling | 76cf779 | 2011-08-25 01:30:18 +0000 | [diff] [blame] | 37 | cleanup |
38 | resume { i8*, i32 } %exn | ||||
Chris Lattner | 6dc7e68 | 2005-05-06 22:33:44 +0000 | [diff] [blame] | 39 | } |
40 | |||||
David Majnemer | cc714e2 | 2015-06-17 20:52:32 +0000 | [diff] [blame] | 41 | define void @bar4() personality i32 (...)* @__gxx_personality_v0 { |
Bill Wendling | 76cf779 | 2011-08-25 01:30:18 +0000 | [diff] [blame] | 42 | call cc42 void @bar( ) |
43 | invoke cc42 void @bar3( ) | ||||
44 | to label %Ok unwind label %U | ||||
Chris Lattner | 6dc7e68 | 2005-05-06 22:33:44 +0000 | [diff] [blame] | 45 | |
Bill Wendling | 76cf779 | 2011-08-25 01:30:18 +0000 | [diff] [blame] | 46 | Ok: |
47 | ret void | ||||
Tanya Lattner | 9bc243b | 2008-03-01 07:38:40 +0000 | [diff] [blame] | 48 | |
Bill Wendling | 76cf779 | 2011-08-25 01:30:18 +0000 | [diff] [blame] | 49 | U: |
David Majnemer | cc714e2 | 2015-06-17 20:52:32 +0000 | [diff] [blame] | 50 | %exn = landingpad {i8*, i32} |
Bill Wendling | 76cf779 | 2011-08-25 01:30:18 +0000 | [diff] [blame] | 51 | cleanup |
52 | resume { i8*, i32 } %exn | ||||
Chris Lattner | 6dc7e68 | 2005-05-06 22:33:44 +0000 | [diff] [blame] | 53 | } |
54 | |||||
Reid Kleckner | 03c735b | 2014-12-01 21:04:44 +0000 | [diff] [blame] | 55 | declare ghccc void @ghc_callee() |
56 | |||||
57 | define void @ghc_caller() { | ||||
58 | call ghccc void @ghc_callee() | ||||
59 | ret void | ||||
60 | } | ||||
61 | |||||
Maksim Panchenko | 3b3752c | 2015-09-29 22:09:16 +0000 | [diff] [blame] | 62 | declare hhvm_ccc void @hhvm_c_callee() |
63 | |||||
64 | define hhvmcc void @hhvm_caller() { | ||||
65 | call hhvm_ccc void @hhvm_c_callee() | ||||
66 | ret void | ||||
67 | } | ||||
68 | |||||
Bill Wendling | 76cf779 | 2011-08-25 01:30:18 +0000 | [diff] [blame] | 69 | declare i32 @__gxx_personality_v0(...) |