[llvm] [VPlan] Add the cost of spills when considering register pressure (PR #179646)
Luke Lau via llvm-commits
llvm-commits at lists.llvm.org
Wed Feb 11 07:13:32 PST 2026
================
@@ -389,13 +390,33 @@ bool VPDominatorTree::properlyDominates(const VPRecipeBase *A,
return Base::properlyDominates(ParentA, ParentB);
}
-bool VPRegisterUsage::exceedsMaxNumRegs(const TargetTransformInfo &TTI,
- unsigned OverrideMaxNumRegs) const {
- return any_of(MaxLocalUsers, [&TTI, &OverrideMaxNumRegs](auto &LU) {
- return LU.second > (OverrideMaxNumRegs > 0
- ? OverrideMaxNumRegs
- : TTI.getNumberOfRegisters(LU.first));
- });
+InstructionCost VPRegisterUsage::spillCost(VPCostContext &Ctx,
+ unsigned OverrideMaxNumRegs) const {
+ InstructionCost Cost;
+ DataLayout DL = Ctx.PSE.getSE()->getDataLayout();
+ for (const auto &Pair : MaxLocalUsers) {
----------------
lukel97 wrote:
You could use structured bindings here
```suggestion
for (const auto [RegClass, MaxUsers] : MaxLocalUsers) {
```
https://github.com/llvm/llvm-project/pull/179646
More information about the llvm-commits
mailing list