[PATCH] D105016: [TargetLowering][AArch64][SVE] Take into account accessed type when clamping address
Peter Waller via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Mon Jun 28 06:45:53 PDT 2021
peterwaller-arm added inline comments.
================
Comment at: llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp:7796
if (auto *IdxCst = dyn_cast<ConstantSDNode>(Idx))
- if (IdxCst->getZExtValue() < NElts)
+ if (IdxCst->getZExtValue() + NumSubElts <= NElts)
return Idx;
----------------
Question: Shouldn't this remain `<`? My thinking: Logically, the thing on the left is the maximum index, and when you increment that thing, it needs to remain less than NElts to still be a valid index.
================
Comment at: llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp:7819
+ return getVectorSubVecPointer(DAG, VecPtr, VecVT,
+ VecVT.getVectorElementType(), Index);
+}
----------------
Did you entertain constructing a 1-element vector here and getting rid of the special case?
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D105016/new/
https://reviews.llvm.org/D105016
More information about the llvm-commits
mailing list