brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.5 KiB · 0a40deb Raw
114 lines · plain
1; RUN: opt < %s -O2 -inlinedefault-threshold=100 -S | FileCheck %s2 3; Check that the inlinedefault-threshold does not alter the inline threshold4; for optsize or minsize functions5 6@a = global i32 47 8define i32 @inner() {9  call void @extern()10  %a1 = load volatile i32, ptr @a11  %x1 = add i32 %a1,  %a112  ret i32 %x113}14 15define i32 @inner2() {16  call void @extern()17  %a1 = load volatile i32, ptr @a18  %x1 = add i32 %a1,  %a119  %a2 = load volatile i32, ptr @a20  %x2 = add i32 %x1, %a221  %a3 = load volatile i32, ptr @a22  %x3 = add i32 %x2, %a323  %a4 = load volatile i32, ptr @a24  %x4 = add i32 %x3, %a425  %a5 = load volatile i32, ptr @a26  %x5 = add i32 %x3, %a527  %a6 = load volatile i32, ptr @a28  %x6 = add i32 %x5, %a629  %a7 = load volatile i32, ptr @a30  %x7 = add i32 %x6, %a731  %a8 = load volatile i32, ptr @a32  %x8 = add i32 %x7, %a833  ret i32 %x834}35 36define i32 @inner3() {37  call void @extern()38  %a1 = load volatile i32, ptr @a39  %x1 = add i32 %a1,  %a140  %a2 = load volatile i32, ptr @a41  %x2 = add i32 %x1, %a242  %a3 = load volatile i32, ptr @a43  %x3 = add i32 %x2, %a344  %a4 = load volatile i32, ptr @a45  %x4 = add i32 %x3, %a446  %a5 = load volatile i32, ptr @a47  %x5 = add i32 %x4, %a548  %a6 = load volatile i32, ptr @a49  %x6 = add i32 %x5, %a650  %a7 = load volatile i32, ptr @a51  %x7 = add i32 %x6, %a752  %a8 = load volatile i32, ptr @a53  %x8 = add i32 %x7, %a854  %a9 = load volatile i32, ptr @a55  %x9 = add i32 %x8, %a956  %a10 = load volatile i32, ptr @a57  %x10 = add i32 %x9, %a1058  %a11 = load volatile i32, ptr @a59  %x11 = add i32 %x10, %a1160  %a12 = load volatile i32, ptr @a61  %x12 = add i32 %x11, %a1262  %a13 = load volatile i32, ptr @a63  %x13 = add i32 %x12, %a1364  %a14 = load volatile i32, ptr @a65  %x14 = add i32 %x13, %a1466  %a15 = load volatile i32, ptr @a67  %x15 = add i32 %x14, %a1568  ret i32 %x1569}70 71define i32 @outer() optsize {72; CHECK-LABEL: @outer73; CHECK-NOT: call i32 @inner()74   %r = call i32 @inner()75   ret i32 %r76}77 78define i32 @outer2() optsize {79; CHECK-LABEL: @outer280; CHECK: call i32 @inner2()81   %r = call i32 @inner2()82   ret i32 %r83}84 85define i32 @outer3() minsize {86; CHECK-LABEL: @outer387; CHECK: call i32 @inner()88   %r = call i32 @inner()89   ret i32 %r90}91 92define i32 @outer4() {93; CHECK-LABEL: @outer494; CHECK-NOT: call i32 @inner()95   %r = call i32 @inner()96   ret i32 %r97}98 99define i32 @outer5() {100; CHECK-LABEL: @outer5101; CHECK-NOT: call i32 @inner2()102   %r = call i32 @inner2()103   ret i32 %r104}105 106define i32 @outer6() {107; CHECK-LABEL: @outer6108; CHECK: call i32 @inner3()109   %r = call i32 @inner3()110   ret i32 %r111}112 113declare void @extern()114