[DAGCombiner] Add target hook function to decide folding (mul (add x, c1), c2)
[llvm-project.git] / llvm / test / Transforms / Inline / inline-semantic-interposition.ll
blob234136e7ca37ea4ca0d35de5b950a2f00fcf84ce
1 ; Check that @callee1 gets inlined while @callee2 is not, because of
2 ; SemanticInterposition.
4 ; RUN: opt < %s -inline -S | FileCheck %s
6 define internal i32 @callee1(i32 %A) {
7   ret i32 %A
10 define i32 @callee2(i32 %A) {
11   ret i32 %A
14 ; CHECK-LABEL: @caller
15 define i32 @caller(i32 %A) {
16 ; CHECK-NOT: call i32 @callee1(i32 %A)
17   %A1 = call i32 @callee1(i32 %A)
18 ; CHECK: %A2 = call i32 @callee2(i32 %A)
19   %A2 = call i32 @callee2(i32 %A)
20 ; CHECK: add i32 %A, %A2
21   %R = add i32 %A1, %A2
22   ret i32 %R
25 !llvm.module.flags = !{!0}
26 !0 = !{i32 1, !"SemanticInterposition", i32 1}