[all-commits] [llvm/llvm-project] 078b54: [HWASan] do not replace lifetime intrinsics with t...
Florian Mayer via All-commits
all-commits at lists.llvm.org
Fri Mar 18 10:40:11 PDT 2022
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 078b546555bf7c23a973bddc040f52aa6de50d20
https://github.com/llvm/llvm-project/commit/078b546555bf7c23a973bddc040f52aa6de50d20
Author: Florian Mayer <fmayer at google.com>
Date: 2022-03-18 (Fri, 18 Mar 2022)
Changed paths:
M llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
M llvm/test/Instrumentation/HWAddressSanitizer/exception-lifetime.ll
A llvm/test/Instrumentation/HWAddressSanitizer/stack-coloring.ll
M llvm/test/Instrumentation/HWAddressSanitizer/use-after-scope.ll
Log Message:
-----------
[HWASan] do not replace lifetime intrinsics with tagged address.
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 before this change,
we confused the stack coloring algorithm.
Reviewed By: eugenis
Differential Revision: https://reviews.llvm.org/D121835
More information about the All-commits
mailing list