[PATCH] D121835: [HWASan] do not replace lifetime intrinsics with tagged address.

Florian Mayer via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Mar 16 11:40:51 PDT 2022


fmayer created this revision.
Herald added a subscriber: hiraditya.
Herald added a project: All.
fmayer requested review of this revision.
Herald added a project: LLVM.
Herald added a subscriber: llvm-commits.

Quote from the LLVM Language Reference

  If ptr is a stack-allocated object and it points to the first byte of the
  object, the object is initially marked as dead. ptr is conservatively
  considered as a non-stack-allocated object if the stack coloring algorithm
  that is used in the optimization pipeline cannot conclude that ptr is a
  stack-allocated object.

By replacing the alloca pointer with the tagged address, we will confuse
the stack coloring algorithm.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D121835

Files:
  llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
  llvm/test/Instrumentation/HWAddressSanitizer/exception-lifetime.ll
  llvm/test/Instrumentation/HWAddressSanitizer/stack-coloring.ll
  llvm/test/Instrumentation/HWAddressSanitizer/use-after-scope.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D121835.415920.patch
Type: text/x-patch
Size: 15505 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20220316/070b3bc4/attachment.bin>


More information about the llvm-commits mailing list