32 lines · plain
1; Test that the inliner can handle deleting functions within an SCC while still2; processing the calls in that SCC.3;4; RUN: opt < %s -S -passes=inline | FileCheck %s5; RUN: opt < %s -S -passes=inliner-wrapper | FileCheck %s6 7; CHECK-LABEL: define internal void @test1_scc0()8; CHECK-NOT: call9; CHECK: call void @test1_scc0()10; CHECK-NOT: call11; CHECK: ret12define internal void @test1_scc0() {13entry:14 call void @test1_scc1()15 ret void16}17 18; CHECK-NOT: @test1_scc119define internal void @test1_scc1() {20entry:21 call void @test1_scc0()22 ret void23}24 25; CHECK-LABEL: define void @test1()26; CHECK: call void @test1_scc0()27define void @test1() {28entry:29 call void @test1_scc0() noinline30 ret void31}32