From 18a588ee4673c0f55df46cbfc227205383bb8a5c Mon Sep 17 00:00:00 2001 From: Adam Nemet Date: Tue, 14 Nov 2017 09:35:37 -0800 Subject: [PATCH] Mention callee in missed inliner remark --- lib/SILOptimizer/Transforms/PerformanceInliner.cpp | 3 ++- test/Driver/opt-remark.swift | 2 +- test/SILOptimizer/inliner_coldblocks.sil | 12 +++++++++--- 3 files changed, 12 insertions(+), 5 deletions(-) diff --git a/lib/SILOptimizer/Transforms/PerformanceInliner.cpp b/lib/SILOptimizer/Transforms/PerformanceInliner.cpp index b7fe9f2fd26..e7273a97325 100644 --- a/lib/SILOptimizer/Transforms/PerformanceInliner.cpp +++ b/lib/SILOptimizer/Transforms/PerformanceInliner.cpp @@ -438,7 +438,8 @@ bool SILPerformanceInliner::isProfitableToInline( ORE.emit([&]() { using namespace OptRemark; return RemarkMissed("NoInlinedCost", *AI.getInstruction()) - << "Not profitable to inline (cost = " << NV("Cost", CalleeCost) + << "Not profitable to inline function " << NV("Callee", Callee) + << " (cost = " << NV("Cost", CalleeCost) << ", benefit = " << NV("Benefit", Benefit) << ")"; }); return false; diff --git a/test/Driver/opt-remark.swift b/test/Driver/opt-remark.swift index 433a60744f4..aa2fb52027b 100644 --- a/test/Driver/opt-remark.swift +++ b/test/Driver/opt-remark.swift @@ -38,7 +38,7 @@ func small() { func foo() { // REMARK_MISSED-NOT: remark: {{.*}} inlined - // REMARK_MISSED: opt-remark.swift:43:2: remark: Not profitable to inline (cost = {{.*}}, benefit = {{.*}}) + // REMARK_MISSED: opt-remark.swift:43:2: remark: Not profitable to inline function "big()" (cost = {{.*}}, benefit = {{.*}}) // REMARK_MISSED-NOT: remark: {{.*}} inlined big() // REMARK_PASSED-NOT: remark: Not profitable diff --git a/test/SILOptimizer/inliner_coldblocks.sil b/test/SILOptimizer/inliner_coldblocks.sil index 6b378df62b0..58d5c6817cc 100644 --- a/test/SILOptimizer/inliner_coldblocks.sil +++ b/test/SILOptimizer/inliner_coldblocks.sil @@ -233,17 +233,23 @@ bb0: sil @dont_inline_regular_large_callee : $@convention(thin) () -> () { bb0: %f = function_ref @regular_large_callee : $@convention(thin) () -> () - // REMARKS_MISSED: inliner_coldblocks.sil:252:8: remark: Not profitable to inline (cost = {{.*}}, benefit = {{.*}}) + // REMARKS_MISSED: inliner_coldblocks.sil:258:8: remark: Not profitable to inline function "regular_large_callee" (cost = {{.*}}, benefit = {{.*}}) // YAML: --- !Missed // YAML-NEXT: Pass: sil-inliner // YAML-NEXT: Name: NoInlinedCost // YAML-NEXT: DebugLoc: // YAML-NEXT: File: {{.*}}inliner_coldblocks.sil - // YAML-NEXT: Line: 252 + // YAML-NEXT: Line: 258 // YAML-NEXT: Column: 8 // YAML-NEXT: Function: dont_inline_regular_large_callee // YAML-NEXT: Args: - // YAML-NEXT: - String: 'Not profitable to inline (cost = ' + // YAML-NEXT: - String: 'Not profitable to inline function ' + // YAML-NEXT: - Callee: '"regular_large_callee"' + // YAML-NEXT: DebugLoc: + // YAML-NEXT: File: {{.*}}inliner_coldblocks.sil + // YAML-NEXT: Line: 162 + // YAML-NEXT: Column: 6 + // YAML-NEXT: - String: ' (cost = ' // YAML-NEXT: - Cost: '{{.*}}' // YAML-NEXT: - String: ', benefit = ' // YAML-NEXT: - Benefit: '{{.*}}'