forked from OSchip/llvm-project
[CodeMetrics] use hasOneLiveUse instead of hasOneUse while analyzing inlinable callsites
It would be better for CodeMetrics to use hasOneLiveUse while analyzing static and called once callsites, since inline cost now uses hasOneLiveUse instead of hasOneUse to avoid overpessimization on dead constant cases (since this patch https://reviews.llvm.org/D109294). This change has no noticeable influence now, but it helps improve the accuracy of cost models of passes that use CodeMetrics. Reviewed By: fhahn, nikic Differential Revision: https://reviews.llvm.org/D130461
This commit is contained in:
parent
94c00c10e8
commit
7a2f5dca09
|
@ -133,7 +133,8 @@ void CodeMetrics::analyzeBasicBlock(
|
|||
// When preparing for LTO, liberally consider calls as inline
|
||||
// candidates.
|
||||
if (!Call->isNoInline() && IsLoweredToCall &&
|
||||
((F->hasInternalLinkage() && F->hasOneUse()) || PrepareForLTO)) {
|
||||
((F->hasInternalLinkage() && F->hasOneLiveUse()) ||
|
||||
PrepareForLTO)) {
|
||||
++NumInlineCandidates;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue