mirror of
https://github.com/intel/llvm.git
synced 2026-01-26 12:26:52 +08:00
[InlineCost] Disable cost-benefit when sample based PGO is used (#86626)
#66457 makes InlineCost to use cost-benefit by default, which causes 0.4-0.5% performance regression on multiple internal workloads. See discussions https://github.com/llvm/llvm-project/pull/66457. This pull request reverts it. Co-authored-by: helloguo <helloguo@meta.com>
This commit is contained in:
committed by
GitHub
parent
6aee1f9d18
commit
1607e8212c
@@ -800,7 +800,7 @@ class InlineCostCallAnalyzer final : public CallAnalyzer {
|
||||
return false;
|
||||
} else {
|
||||
// Otherwise, require instrumentation profile.
|
||||
if (!(PSI->hasInstrumentationProfile() || PSI->hasSampleProfile()))
|
||||
if (!PSI->hasInstrumentationProfile())
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
|
||||
; YAML-PASS: --- !Passed
|
||||
; YAML-PASS-NEXT: Pass: inline
|
||||
; YAML-PASS-NEXT: Name: AlwaysInline
|
||||
; YAML-PASS-NEXT: Name: Inlined
|
||||
; YAML-PASS-NEXT: DebugLoc: { File: remarks-hotness.cpp, Line: 10, Column: 10 }
|
||||
; YAML-PASS-NEXT: Function: _Z7caller1v
|
||||
; YAML-PASS-NEXT: Hotness: 401
|
||||
@@ -36,7 +36,7 @@
|
||||
; YAML-MISS-NEXT: Function: _Z7caller2v
|
||||
; YAML-MISS-NEXT: Hotness: 2
|
||||
|
||||
; CHECK-RPASS: '_Z7callee1v' inlined into '_Z7caller1v' with (cost=always): benefit over cost at callsite _Z7caller1v:1:10; (hotness: 401)
|
||||
; CHECK-RPASS: '_Z7callee1v' inlined into '_Z7caller1v' with (cost=-30, threshold=4500) at callsite _Z7caller1v:1:10; (hotness: 401)
|
||||
; CHECK-RPASS-NOT: '_Z7callee2v' not inlined into '_Z7caller2v' because it should never be inlined (cost=never): noinline function attribute (hotness: 2)
|
||||
|
||||
; ModuleID = 'remarks-hotness.cpp'
|
||||
|
||||
Reference in New Issue
Block a user