[PATCH] D159172: [HWASAN] Inline fast pass of instrumentMemAccessOutline

Vitaly Buka via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Aug 30 00:05:19 PDT 2023


vitalybuka created this revision.
Herald added subscribers: luke, Enna1, sunshaoce, abrachet, frasercrmck, phosek, luismarques, apazos, sameer.abuasal, s.egerton, Jim, jocewei, PkmX, the_o, brucehoult, MartinMosbeck, rogfer01, edward-jones, zzheng, jrtc27, niosHD, sabuasal, simoncook, johnrusso, rbar, asb, hiraditya.
Herald added a project: All.
vitalybuka requested review of this revision.
Herald added subscribers: llvm-commits, wangpc, MaskRay.
Herald added a project: LLVM.

Usually pointer tag will match tag in the shadow, so we can keep
inlining this check keeping the rest in outlined part.

It imroves performance by about 25%, but increases code size by 30%.
Existing outlining reduces performance by 30%, but saves code size by 80%.
So we still significantly reduce code size with minimal performance loss.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D159172

Files:
  llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
  llvm/test/Instrumentation/HWAddressSanitizer/RISCV/atomic.ll
  llvm/test/Instrumentation/HWAddressSanitizer/RISCV/basic.ll
  llvm/test/Instrumentation/HWAddressSanitizer/RISCV/exception-lifetime.ll
  llvm/test/Instrumentation/HWAddressSanitizer/RISCV/use-after-scope-setjmp.ll
  llvm/test/Instrumentation/HWAddressSanitizer/basic.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D159172.554593.patch
Type: text/x-patch
Size: 64254 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20230830/64d09b7d/attachment-0001.bin>


More information about the llvm-commits mailing list