[all-commits] [llvm/llvm-project] 476ced: [MTE] [HWASan] Support diamond lifetimes.
Florian Mayer via All-commits
all-commits at lists.llvm.org
Wed Jun 22 11:16:48 PDT 2022
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 476ced4b89594d329dd0aa8798a46153672ded3c
https://github.com/llvm/llvm-project/commit/476ced4b89594d329dd0aa8798a46153672ded3c
Author: Florian Mayer <fmayer at google.com>
Date: 2022-06-22 (Wed, 22 Jun 2022)
Changed paths:
M llvm/lib/Transforms/Utils/MemoryTaggingSupport.cpp
M llvm/test/CodeGen/AArch64/stack-tagging-split-lifetime.ll
M llvm/test/Instrumentation/HWAddressSanitizer/use-after-scope.ll
Log Message:
-----------
[MTE] [HWASan] Support diamond lifetimes.
We were overly conservative and required a ret statement to be dominated
completely be a single lifetime.end marker. This is quite restrictive
and leads to two problems:
* limits coverage of use-after-scope, as we degenerate to
use-after-return;
* increases stack usage in programs, as we have to remove all lifetime
markers if we degenerate to use-after-return, which prevents
reuse of stack slots by the stack coloring algorithm.
Reviewed By: eugenis
Differential Revision: https://reviews.llvm.org/D127905
More information about the All-commits
mailing list