diff options
author | Evgeniy Stepanov <eugeni.stepanov@gmail.com> | 2019-08-19 20:47:09 +0000 |
---|---|---|
committer | Evgeniy Stepanov <eugeni.stepanov@gmail.com> | 2019-08-19 20:47:09 +0000 |
commit | 50affbe47fc97f9514ef32d657b36b54285da214 (patch) | |
tree | e6de18b138f26b0aac18adc8990e6117a5f6f337 /llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp | |
parent | 3b4ce731fbcc6490da95d8091b384c3ddb3c70d9 (diff) | |
download | bcm5719-llvm-50affbe47fc97f9514ef32d657b36b54285da214.tar.gz bcm5719-llvm-50affbe47fc97f9514ef32d657b36b54285da214.zip |
MemTag: stack initializer merging.
Summary:
MTE provides instructions to update memory tags and data at the same
time. This change makes use of those to generate more compact code for
stack variable tagging + initialization.
We collect memory store and memset instructions following an alloca or a
lifetime.start call, and replace them with the corresponding MTE
intrinsics. Since the intrinsics work on 16-byte aligned chunks, the
stored values are combined as necessary.
Reviewers: pcc, vitalybuka, ostannard
Subscribers: srhines, javed.absar, hiraditya, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D66167
llvm-svn: 369297
Diffstat (limited to 'llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp')
0 files changed, 0 insertions, 0 deletions