diff options
Diffstat (limited to 'llvm/lib/CodeGen/CodeGenPrepare.cpp')
-rw-r--r-- | llvm/lib/CodeGen/CodeGenPrepare.cpp | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/llvm/lib/CodeGen/CodeGenPrepare.cpp b/llvm/lib/CodeGen/CodeGenPrepare.cpp index f07fc4f..faee623 100644 --- a/llvm/lib/CodeGen/CodeGenPrepare.cpp +++ b/llvm/lib/CodeGen/CodeGenPrepare.cpp @@ -198,7 +198,7 @@ static cl::opt<bool> BBSectionsGuidedSectionPrefix( "impacted, i.e., their prefixes will be decided by FDO/sampleFDO " "profiles.")); -static cl::opt<unsigned> FreqRatioToSkipMerge( +static cl::opt<uint64_t> FreqRatioToSkipMerge( "cgp-freq-ratio-to-skip-merge", cl::Hidden, cl::init(2), cl::desc("Skip merging empty blocks if (frequency of empty block) / " "(frequency of destination block) is greater than this ratio")); @@ -986,8 +986,8 @@ bool CodeGenPrepare::isMergingEmptyBlockProfitable(BasicBlock *BB, DestBB == findDestBlockOfMergeableEmptyBlock(SameValueBB)) BBFreq += BFI->getBlockFreq(SameValueBB); - return PredFreq.getFrequency() <= - BBFreq.getFrequency() * FreqRatioToSkipMerge; + std::optional<BlockFrequency> Limit = BBFreq.mul(FreqRatioToSkipMerge); + return !Limit || PredFreq <= *Limit; } /// Return true if we can merge BB into DestBB if there is a single |