[llvm] [VPlan] Use BlockFrequencyInfo in getPredBlockCostDivisor (PR #158690)
Sam Tebbs via llvm-commits
llvm-commits at lists.llvm.org
Thu Oct 2 03:06:06 PDT 2025
================
@@ -2866,6 +2881,19 @@ bool LoopVectorizationCostModel::isPredicatedInst(Instruction *I) const {
}
}
+unsigned LoopVectorizationCostModel::getPredBlockCostDivisor(
+ TargetTransformInfo::TargetCostKind CostKind, const BasicBlock *BB) const {
+ if (CostKind == TTI::TCK_CodeSize)
+ return 1;
+
+ uint64_t HeaderFreq = BFI->getBlockFreq(TheLoop->getHeader()).getFrequency();
+ uint64_t BBFreq = BFI->getBlockFreq(BB).getFrequency();
+ assert(HeaderFreq >= BBFreq &&
+ "Header has smaller block freq than dominated BB?");
+ return BFI->getBlockFreq(TheLoop->getHeader()).getFrequency() /
+ BFI->getBlockFreq(BB).getFrequency();
----------------
SamTebbs33 wrote:
You already have `HeaderFreq` and `BBFreq` so I don't think you need to call `getBlockFreq` again when returning.
https://github.com/llvm/llvm-project/pull/158690
More information about the llvm-commits
mailing list