1 ; Test that the inliner can handle deleting functions within an SCC while still
2 ; processing the calls in that SCC.
4 ; RUN: opt < %s -S -inline | FileCheck %s
5 ; RUN: opt < %s -S -passes=inline | FileCheck %s
6 ; RUN: opt < %s -S -passes=inliner-wrapper | FileCheck %s
8 ; CHECK-LABEL: define internal void @test1_scc0()
10 ; CHECK: call void @test1_scc0()
13 define internal void @test1_scc0() {
15 call void @test1_scc1()
19 ; CHECK-NOT: @test1_scc1
20 define internal void @test1_scc1() {
22 call void @test1_scc0()
26 ; CHECK-LABEL: define void @test1()
27 ; CHECK: call void @test1_scc0()
28 define void @test1() {
30 call void @test1_scc0() noinline