1 ; RUN: opt < %s -passes=inline -S | FileCheck %s
2 ; RUN: opt < %s -passes='cgscc(inline)' -S | FileCheck %s
5 target triple = "i686-pc-linux-gnu"
7 declare i32 @__gxx_personality_v0(...)
16 ; CHECK-LABEL: define void @f()
18 call void asm "rdtsc\0A\09movl %eax, $0\0A\09movl %edx, $1", "=*imr,=*imr,~{dirflag},~{fpsr},~{flags},~{dx},~{ax}"( ptr elementtype( i32) null, ptr elementtype(i32) null ) nounwind
19 ; CHECK: call void asm
23 define void @g() personality ptr @__gxx_personality_v0 {
24 ; CHECK-LABEL: define void @g() personality ptr @__gxx_personality_v0
26 invoke void @a() to label %invcont1 unwind label %cleanup
27 ; CHECK-NOT: {{call|invoke}}
28 ; CHECK: invoke void @a()
31 invoke void @b() to label %invcont2 unwind label %cleanup
32 ; CHECK-NOT: {{call|invoke}}
33 ; CHECK: invoke void @b()
36 invoke void @c() to label %invcont3 unwind label %cleanup
37 ; CHECK-NOT: {{call|invoke}}
38 ; CHECK: invoke void @c()
41 invoke void @f() to label %invcont4 unwind label %cleanup
42 ; CHECK-NOT: {{call|invoke}}
43 ; CHECK: call void asm
44 ; CHECK-NOT: {{call|invoke}}
50 %ex = landingpad {ptr, i32} cleanup
51 resume { ptr, i32 } %ex
55 ; CHECK-LABEL: define void @h() personality ptr @__gxx_personality_v0
58 ; CHECK-NOT: {{call|invoke}}
59 ; CHECK: invoke void @a()
60 ; CHECK-NOT: {{call|invoke}}
61 ; CHECK: invoke void @b()
62 ; CHECK-NOT: {{call|invoke}}
63 ; CHECK: invoke void @c()
64 ; CHECK-NOT: {{call|invoke}}
65 ; CHECK: call void asm
66 ; CHECK-NOT: {{call|invoke}}