diff options
author | Hiroshi Yamauchi <yamauchi@google.com> | 2019-11-20 13:08:07 -0800 |
---|---|---|
committer | Hiroshi Yamauchi <yamauchi@google.com> | 2019-12-02 13:54:13 -0800 |
commit | 8cdfdfeee6dada5d47eabe9c1d44ceb12235da8f (patch) | |
tree | 888c196b7ae0b7aea6b420baab138ba8dc6cbfd8 /llvm/lib/Transforms/Utils | |
parent | 7999cd41d16d841d66c9c91b56bddaf209c54955 (diff) | |
download | bcm5719-llvm-8cdfdfeee6dada5d47eabe9c1d44ceb12235da8f.tar.gz bcm5719-llvm-8cdfdfeee6dada5d47eabe9c1d44ceb12235da8f.zip |
[PGO][PGSO] Add an optional query type parameter to shouldOptimizeForSize.
Summary:
In case of a need to distinguish different query sites for gradual commit or
debugging of PGSO. NFC.
Reviewers: davidxl
Subscribers: hiraditya, zzheng, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D70510
Diffstat (limited to 'llvm/lib/Transforms/Utils')
-rw-r--r-- | llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp | 3 | ||||
-rw-r--r-- | llvm/lib/Transforms/Utils/SizeOpts.cpp | 12 |
2 files changed, 10 insertions, 5 deletions
diff --git a/llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp b/llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp index 9e57d660b04..ef2af01f8af 100644 --- a/llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp +++ b/llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp @@ -2755,7 +2755,8 @@ Value *LibCallSimplifier::optimizeFPuts(CallInst *CI, IRBuilder<> &B) { // Don't rewrite fputs to fwrite when optimising for size because fwrite // requires more arguments and thus extra MOVs are required. bool OptForSize = CI->getFunction()->hasOptSize() || - llvm::shouldOptimizeForSize(CI->getParent(), PSI, BFI); + llvm::shouldOptimizeForSize(CI->getParent(), PSI, BFI, + PGSOQueryType::IRPass); if (OptForSize) return nullptr; diff --git a/llvm/lib/Transforms/Utils/SizeOpts.cpp b/llvm/lib/Transforms/Utils/SizeOpts.cpp index f1200471cb4..555073af0b2 100644 --- a/llvm/lib/Transforms/Utils/SizeOpts.cpp +++ b/llvm/lib/Transforms/Utils/SizeOpts.cpp @@ -70,11 +70,15 @@ struct BasicBlockBFIAdapter { } // end anonymous namespace bool llvm::shouldOptimizeForSize(const Function *F, ProfileSummaryInfo *PSI, - BlockFrequencyInfo *BFI) { - return shouldFuncOptimizeForSizeImpl<BasicBlockBFIAdapter>(F, PSI, BFI); + BlockFrequencyInfo *BFI, + PGSOQueryType QueryType) { + return shouldFuncOptimizeForSizeImpl<BasicBlockBFIAdapter>(F, PSI, BFI, + QueryType); } bool llvm::shouldOptimizeForSize(const BasicBlock *BB, ProfileSummaryInfo *PSI, - BlockFrequencyInfo *BFI) { - return shouldOptimizeForSizeImpl<BasicBlockBFIAdapter>(BB, PSI, BFI); + BlockFrequencyInfo *BFI, + PGSOQueryType QueryType) { + return shouldOptimizeForSizeImpl<BasicBlockBFIAdapter>(BB, PSI, BFI, + QueryType); } |