1 ; RUN: opt < %s -inline -S | FileCheck %s 2 ; RUN: opt < %s -passes='cgscc(inline)' -S | FileCheck %s 3 4 declare i1 @extern() 5 6 define internal i32 @test() { 7 ; CHECK-NOT: define .* @test() 8 entry: 9 %n = call i1 @extern() 10 br i1 %n, label %r, label %u 11 12 r: 13 ret i32 0 14 15 u: 16 unreachable 17 } 18 19 define i32 @caller() { 20 ; CHECK-LABEL: define i32 @caller() 21 entry: 22 %X = call i32 @test() nounwind 23 ; CHECK-NOT: call i32 @test() 24 ; CHECK: call i1 @extern() #0 25 ; CHECK: br i1 %{{.*}}, label %[[R:.*]], label %[[U:.*]] 26 27 ; CHECK: [[U]]: 28 ; CHECK: unreachable 29 30 ; CHECK: [[R]]: 31 ret i32 %X 32 ; CHECK: ret i32 0 33 } 34 35 ; CHECK: attributes #0 = { nounwind } 36