[PATCH] D66167: MemTag: stack initializer merging.
Evgenii Stepanov via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Thu Aug 15 16:54:58 PDT 2019
eugenis marked an inline comment as done.
eugenis added inline comments.
================
Comment at: llvm/lib/Target/AArch64/AArch64StackTagging.cpp:196
+ if (Offset > LastOffset)
+ emitZeroes(IRB, LastOffset, Offset - LastOffset);
+
----------------
pcc wrote:
> This could call `emitUndef`, right? Is there an advantage in using `STZG` instead of `STG` here, and if so, should we be doing the same thing on line 181?
No, because memset(0) does not update Out[] (see applyMemset), so we don't know if the tail is zero or undef. Line 181 is different - with Ranges.empty() we know that the entire allocation is undef.
If we wanted to change this, Out[] would need to remember which bytes have been written to in a separate mask.
I did not do this because STG and STGZ are expected to have approximately same overhead.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D66167/new/
https://reviews.llvm.org/D66167
More information about the llvm-commits
mailing list