[llvm] [LV] Move check if any vector insts will be generated to VPlan. (PR #96622)
via llvm-commits
llvm-commits at lists.llvm.org
Thu Jul 4 13:03:17 PDT 2024
================
@@ -5869,22 +5909,19 @@ LoopVectorizationCostModel::expectedCost(
(VF.isVector() && VecValuesToIgnore.count(&I)))
continue;
- VectorizationCostTy C = getInstructionCost(&I, VF);
+ InstructionCost C = getInstructionCost(&I, VF);
// Check if we should override the cost.
- if (C.first.isValid() &&
- ForceTargetInstructionCost.getNumOccurrences() > 0)
- C.first = InstructionCost(ForceTargetInstructionCost);
+ if (C.isValid() && ForceTargetInstructionCost.getNumOccurrences() > 0)
+ C = InstructionCost(ForceTargetInstructionCost);
// Keep a list of instructions with invalid costs.
- if (Invalid && !C.first.isValid())
+ if (Invalid && !C.isValid())
Invalid->emplace_back(&I, VF);
- BlockCost.first += C.first;
- BlockCost.second |= C.second;
- LLVM_DEBUG(dbgs() << "LV: Found an estimated cost of " << C.first
- << " for VF " << VF << " For instruction: " << I
- << '\n');
+ BlockCost.first += C;
----------------
ayalz wrote:
Should BlockCost also become InstructionCost rather than VectorizationCostTy, as its `second` seems to become undefined and/or unused?
https://github.com/llvm/llvm-project/pull/96622
More information about the llvm-commits
mailing list