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 | |||||
Tanya Lattner | 9bc243b | 2008-03-01 07:38:40 +0000 | [diff] [blame] | 28 | define cc42 void @bar3() { |
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: |
36 | %exn = landingpad {i8*, i32} personality i32 (...)* @__gxx_personality_v0 | ||||
37 | cleanup | ||||
38 | resume { i8*, i32 } %exn | ||||
Chris Lattner | 6dc7e68 | 2005-05-06 22:33:44 +0000 | [diff] [blame] | 39 | } |
40 | |||||
Tanya Lattner | 9bc243b | 2008-03-01 07:38:40 +0000 | [diff] [blame] | 41 | define void @bar4() { |
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: |
50 | %exn = landingpad {i8*, i32} personality i32 (...)* @__gxx_personality_v0 | ||||
51 | cleanup | ||||
52 | resume { i8*, i32 } %exn | ||||
Chris Lattner | 6dc7e68 | 2005-05-06 22:33:44 +0000 | [diff] [blame] | 53 | } |
54 | |||||
Bill Wendling | 76cf779 | 2011-08-25 01:30:18 +0000 | [diff] [blame^] | 55 | declare i32 @__gxx_personality_v0(...) |