[llvm-branch-commits] [llvm] [MTE] add stack frame history buffer (PR #86356)

Florian Mayer via llvm-branch-commits llvm-branch-commits at lists.llvm.org
Mon May 20 15:10:31 PDT 2024


================
@@ -2497,7 +2497,8 @@ AArch64FrameLowering::getFrameIndexReference(const MachineFunction &MF, int FI,
   return resolveFrameIndexReference(
       MF, FI, FrameReg,
       /*PreferFP=*/
-      MF.getFunction().hasFnAttribute(Attribute::SanitizeHWAddress),
+      MF.getFunction().hasFnAttribute(Attribute::SanitizeHWAddress) ||
+          MF.getFunction().hasFnAttribute(Attribute::SanitizeMemTag),
       /*ForSimm=*/false);
----------------
fmayer wrote:

I don't think that makes a difference. I compiled a [moderately complicated file from AOSP](https://cs.android.com/android/platform/superproject/main/+/main:system/unwinding/libunwindstack/Unwinder.cpp) with memtag-stack and without this change (and with and without the `-stack-tagging-record-stack-history=instr`), and the assembly is the same.

The docstring "getFrameIndexReference - Provide a base+offset reference to an FI slot for debug info." also implies this shouldn't affect codegen.

https://github.com/llvm/llvm-project/pull/86356


More information about the llvm-branch-commits mailing list