If the scatter store is able to perform the sign/zero extend of
its index, this is folded into the instruction with refineIndexType().
Additionally, refineUniformBase() will return the base pointer and index
from an add + splat_vector.
Details
Details
Diff Detail
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
Comment Actions
The indentation seems off for some of the changes, could you run the patch through clang-format?
llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp | ||
---|---|---|
9408 | This should probably use SelectionDAG::getSplatValue() instead, because there are multiple ways of representing splats (SPLAT_VECTOR is only used for scalable vectors at the moment). |
Comment Actions
- Replaced check for ISD::SPLAT_VECTOR opcode in refineUniformBase with SelectionDAG::getSplatVector()
- Applied changes suggested by clang-format
llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp | ||
---|---|---|
9421 | If Index is a undef, this line will assertion fail. |
This should probably use SelectionDAG::getSplatValue() instead, because there are multiple ways of representing splats (SPLAT_VECTOR is only used for scalable vectors at the moment).