55 lines · plain
1; RUN: opt < %s -passes=partial-inliner -S | FileCheck %s2; RUN: opt < %s -passes=partial-inliner -skip-partial-inlining-cost-analysis -max-num-inline-blocks=2 -S | FileCheck --check-prefix=LIMIT %s3 4; Function Attrs: nounwind uwtable5define i32 @bar(i32 %arg) local_unnamed_addr #0 {6bb:7 %tmp = icmp slt i32 %arg, 08 br i1 %tmp, label %bb1, label %bb59 10bb1: ; preds = %bb11 %tmp2 = tail call i32 (...) @channels() #212 %tmp3 = icmp slt i32 %tmp2, %arg13 br i1 %tmp3, label %bb4, label %bb514 15bb4: ; preds = %bb116 tail call void (...) @foo() #217 tail call void (...) @foo() #218 tail call void (...) @foo() #219 tail call void (...) @foo() #220 tail call void (...) @foo() #221 tail call void (...) @foo() #222 tail call void (...) @foo() #223 tail call void (...) @foo() #224 tail call void (...) @foo() #225 br label %bb526 27bb5: ; preds = %bb4, %bb1, %bb28 %tmp6 = phi i32 [ 0, %bb4 ], [ 1, %bb1 ], [ 1, %bb ]29 ret i32 %tmp630}31 32declare i32 @channels(...) local_unnamed_addr #133 34declare void @foo(...) local_unnamed_addr #135 36; Function Attrs: nounwind uwtable37define i32 @dummy_caller(i32 %arg) local_unnamed_addr #0 {38bb:39; CHECK-LABEL: @dummy_caller40; CHECK: br i141; CHECK: br i142; CHECK: call void @bar.1.43; LIMIT-LABEL: @dummy_caller44; LIMIT: br i145; LIMIT-NOT: br46; LIMIT: call void @bar.1.47 %tmp = tail call i32 @bar(i32 %arg)48 ret i32 %tmp49}50 51attributes #0 = { nounwind }52attributes #1 = { nounwind }53attributes #2 = { nounwind }54 55