brintos

brintos / llvm-project-archived public Read only

0
0
Text · 928 B · 19b062e Raw
60 lines · plain
1; RUN: opt < %s -passes=inline -S | FileCheck %s2; RUN: opt < %s -passes='cgscc(inline)' -S | FileCheck %s3 4; Always prefer call site attribute over function attribute5 6define internal i32 @inner1() {7; CHECK: @inner1(8  ret i32 19}10 11define i32 @outer1() {12; CHECK-LABEL: @outer1(13; CHECK: call14 15   %r = call i32 @inner1() noinline16   ret i32 %r17}18 19define internal i32 @inner2() alwaysinline {20; CHECK: @inner2(21  ret i32 122}23 24define i32 @outer2() {25; CHECK-LABEL: @outer2(26; CHECK: call27 28   %r = call i32 @inner2() noinline29   ret i32 %r30}31 32define i32 @inner3() alwaysinline {33; CHECK: @inner3(34  ret i32 135}36 37define i32 @outer3() {38; CHECK-LABEL: @outer3(39; CHECK: call40 41   %r = call i32 @inner3() noinline42   ret i32 %r43}44 45define i32 @inner4() noinline {46; CHECK: @inner4(47  ret i32 148}49 50define i32 @outer4() {51; CHECK-LABEL: @outer4(52; CHECK-NOT: call53; CHECK: ret54 55   %r = call i32 @inner4() alwaysinline56 57   ret i32 %r58}59 60