brintos

brintos / llvm-project-archived public Read only

0
0
Text · 639 B · 70ff6e7 Raw
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