[PATCH] D149073: [ASAN] Support memory checks on experimental.vp.strided.load/store.

Philip Reames via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon May 8 12:23:32 PDT 2023


reames added a comment.

@craig.topper Thanks, does this one come through?  I definitely wrote and saved a comment last time.



================
Comment at: llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp:1367
+          IID == Intrinsic::experimental_vp_strided_load) {
+        Stride = VPI->getOperand(PtrOpNo + 1);
+        // Don't use alignment of pointer cause of byte stride.
----------------
This alignment check is overly conservative for constant stride which is a multiple of the alignment.

Organizationally, this should probably be inside the instrumentation logic.  The alignment here appears to be the base alignment, and the element alignment can be computed from it and the stride as needed.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D149073



More information about the llvm-commits mailing list