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 -passes=inline | FileCheck %s
5 ; RUN: opt < %s -S -passes=inliner-wrapper | FileCheck %s
7 ; CHECK-LABEL: define internal void @test1_scc0()
9 ; CHECK: call void @test1_scc0()
12 define internal void @test1_scc0() {
14 call void @test1_scc1()
18 ; CHECK-NOT: @test1_scc1
19 define internal void @test1_scc1() {
21 call void @test1_scc0()
25 ; CHECK-LABEL: define void @test1()
26 ; CHECK: call void @test1_scc0()
27 define void @test1() {
29 call void @test1_scc0() noinline