36 lines · plain
1; RUN: opt < %s -passes=inline -S | FileCheck %s2; RUN: opt < %s -passes='cgscc(inline)' -S | FileCheck %s3 4declare i1 @extern()5 6define internal i32 @test() {7; CHECK-NOT: define .* @test()8entry:9 %n = call i1 @extern()10 br i1 %n, label %r, label %u11 12r:13 ret i32 014 15u:16 unreachable17}18 19define i32 @caller() {20; CHECK-LABEL: define i32 @caller()21entry:22 %X = call i32 @test() nounwind23; CHECK-NOT: call i32 @test()24; CHECK: call i1 @extern() #025; CHECK: br i1 %{{.*}}, label %[[R:.*]], label %[[U:.*]]26 27; CHECK: [[U]]:28; CHECK: unreachable29 30; CHECK: [[R]]:31 ret i32 %X32; CHECK: ret i32 033}34 35; CHECK: attributes #0 = { nounwind }36