1; Test that the inliner can handle deleting functions within an SCC while still 2; processing the calls in that SCC. 3; 4; RUN: opt < %s -S -passes=inline | FileCheck %s 5; RUN: opt < %s -S -passes=inliner-wrapper | FileCheck %s 6 7; CHECK-LABEL: define internal void @test1_scc0() 8; CHECK-NOT: call 9; CHECK: call void @test1_scc0() 10; CHECK-NOT: call 11; CHECK: ret 12define internal void @test1_scc0() { 13entry: 14 call void @test1_scc1() 15 ret void 16} 17 18; CHECK-NOT: @test1_scc1 19define internal void @test1_scc1() { 20entry: 21 call void @test1_scc0() 22 ret void 23} 24 25; CHECK-LABEL: define void @test1() 26; CHECK: call void @test1_scc0() 27define void @test1() { 28entry: 29 call void @test1_scc0() noinline 30 ret void 31} 32