; Require asserts for -debug-only ; REQUIRES: asserts ; RUN: opt < %s -inline -debug-only=inline-cost -disable-output -print-instruction-comments 2>&1 | FileCheck %s ; CHECK: Analyzing call of callee1... (caller:foo) ; CHECK: define i32 @callee1(i32 %x) { ; CHECK: ; cost before = {{.*}}, cost after = {{.*}}, threshold before = {{.*}}, threshold after = {{.*}}, cost delta = 5 ; CHECK: %x1 = add i32 %x, 1 ; CHECK: ; cost before = {{.*}}, cost after = {{.*}}, threshold before = {{.*}}, threshold after = {{.*}}, cost delta = 5 ; CHECK: %x2 = add i32 %x1, 1 ; CHECK: ; cost before = {{.*}}, cost after = {{.*}}, threshold before = {{.*}}, threshold after = {{.*}}, cost delta = 5 ; CHECK: %x3 = add i32 %x2, 1 ; CHECK: ; cost before = {{.*}}, cost after = {{.*}}, threshold before = {{.*}}, threshold after = {{.*}}, cost delta = 0 ; CHECK: ret i32 %x3 ; CHECK: } ; CHECK: NumConstantArgs: 0 ; CHECK: NumConstantOffsetPtrArgs: 0 ; CHECK: NumAllocaArgs: 0 ; CHECK: NumConstantPtrCmps: 0 ; CHECK: NumConstantPtrDiffs: 0 ; CHECK: NumInstructionsSimplified: 1 ; CHECK: NumInstructions: 4 ; CHECK: SROACostSavings: 0 ; CHECK: SROACostSavingsLost: 0 ; CHECK: LoadEliminationCost: 0 ; CHECK: ContainsNoDuplicateCall: 0 ; CHECK: Cost: {{.*}} ; CHECK: Threshold: {{.*}} define i32 @foo(i32 %y) { %x = call i32 @callee1(i32 %y) ret i32 %x } define i32 @callee1(i32 %x) { %x1 = add i32 %x, 1 %x2 = add i32 %x1, 1 %x3 = add i32 %x2, 1 ret i32 %x3 }