| ; RUN: opt < %s -passes=inline -pass-remarks-missed=inline -inline-cost-full -S 2>&1 | FileCheck %s | |
| ; RUN: opt < %s -passes=inline -pass-remarks-missed=inline -S 2>&1 | FileCheck %s | |
| declare void @foo() | |
| declare void @bar() | |
| define void @callee() { | |
| entry: | |
| call void @foo() noduplicate | |
| ; Just to inflate the cost | |
| call void @bar() "call-inline-cost"="1000" | |
| ret void | |
| } | |
| define void @caller() { | |
| ; CHECK: 'callee' not inlined into 'caller' because it should never be inlined (cost=never): noduplicate | |
| ; CHECK: define void @caller() | |
| ; CHECK-NEXT: call void @callee() | |
| ; CHECK-NEXT: ret void | |
| call void @callee() | |
| ret void | |
| } |