xref: /llvm-project/llvm/test/Transforms/Inline/noduplicate.ll (revision 3f96f7b30c91b912de1c6c7c03ab6a4c18e8aa26)
1; RUN: opt < %s -passes=inline -pass-remarks-missed=inline -inline-cost-full -S 2>&1 | FileCheck %s
2; RUN: opt < %s -passes=inline -pass-remarks-missed=inline -S 2>&1 | FileCheck %s
3
4declare void @foo()
5declare void @bar()
6
7define void @callee() {
8entry:
9  call void @foo() noduplicate
10  ; Just to inflate the cost
11  call void @bar() "call-inline-cost"="1000"
12  ret void
13}
14
15define void @caller() {
16; CHECK: 'callee' not inlined into 'caller' because it should never be inlined (cost=never): noduplicate
17; CHECK: define void @caller()
18; CHECK-NEXT: call void @callee()
19; CHECK-NEXT: ret void
20  call void @callee()
21  ret void
22}
23