[PATCH] D113489: [AArch64][SVE] Instcombine SVE LD1/ST1 to stock LLVM IR

David Truby via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Nov 10 06:19:42 PST 2021


DavidTruby added inline comments.


================
Comment at: llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp:732
+  Type *VecTyPtr = II.getType()->getPointerTo();
+  IRBuilder<> Builder(II.getContext());
+  Builder.SetInsertPoint(&II);
----------------
Nit: I think the default template arguments should just be picked without the `<>`


================
Comment at: llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp:750
+  Value *PtrOp = II.getOperand(1);
+  IRBuilder<> Builder(II.getContext());
+  Builder.SetInsertPoint(&II);
----------------



================
Comment at: llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp:765
+  Type *VecTyPtr = VecOp->getType()->getPointerTo();
+  IRBuilder<> Builder(II.getContext());
+  Builder.SetInsertPoint(&II);
----------------



================
Comment at: llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp:769
+  Value *VecPtr = Builder.CreateBitCast(PtrOp, VecTyPtr);
+  (void)Builder.CreateStore(VecOp, VecPtr);
+  return IC.eraseInstFromFunction(II);
----------------
peterwaller-arm wrote:
> paulwalker-arm wrote:
> > Is this necessary?
> Adding `(void)` was my guidance, which on reflection I think was in error, thanks for pointing it out.
If you wanted to make sure you didn't get unused return value warnings you can use `LLVM_ATTRIBUTE_UNUSED` to be a bit more clear than the void cast.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D113489/new/

https://reviews.llvm.org/D113489



More information about the llvm-commits mailing list