[llvm] [SLPVectorizer][X86] Free load cost for stores with constant pointers (PR #118016)
Simon Pilgrim via llvm-commits
llvm-commits at lists.llvm.org
Tue Dec 3 10:12:29 PST 2024
================
@@ -5157,8 +5157,9 @@ InstructionCost X86TTIImpl::getMemoryOpCost(unsigned Opcode, Type *Src,
InstructionCost Cost = 0;
- // Add a cost for constant load to vector.
- if (Opcode == Instruction::Store && OpInfo.isConstant())
+ // Add a cost for constant load to vector, if pointer is not a constant.
+ if (auto *SI = dyn_cast_or_null<StoreInst>(I);
+ SI && !isa<Constant>(SI->getPointerOperand()) && OpInfo.isConstant())
----------------
RKSimon wrote:
The cost you are disabling in the code above is for the constant load - not the memory address computation.
https://github.com/llvm/llvm-project/pull/118016
More information about the llvm-commits
mailing list