[DAGCombiner] Add target hook function to decide folding (mul (add x, c1), c2)
[llvm-project.git] / llvm / test / Transforms / Inline / inline-call-penalty-option.ll
blobd7b27e154deba8615a671411dd51af833fa00f28
1 ; Check that calls are not inlined if the call penalty is low. The value of the
2 ; call penalty is provided with the '--inline-call-penalty' option.
4 ; RUN: opt < %s -inline --inline-call-penalty=0 --inline-threshold=5 -S | FileCheck %s
5 ; RUN: opt < %s -inline --inline-threshold=5 -S | FileCheck %s -check-prefix=DEFAULT_CALL_PENALTY
7 define i32 @X9(i32 %x) nounwind {
8   %x2 = add i32 %x, %x
9   %x3 = add i32 %x2, %x
10   %x4 = add i32 %x3, %x
11   %x5 = add i32 %x4, %x
12   %x6 = add i32 %x5, %x
13   %x7 = add i32 %x6, %x
14   %x8 = add i32 %x7, %x
15   %x9 = add i32 %x8, %x
17   ret i32 %x9
20 define i32 @f1(i32 %x) nounwind {
21   %res = call i32 @X9(i32 %x)
22   ret i32 %res
23 ; CHECK-LABEL: @f1(
24 ; CHECK: %res = call i32 @X9
26 ; DEFAULT_CALL_PENALTY-LABEL: @f1(
27 ; DEFAULT_CALL_PENALTY-NOT: call