[all-commits] [llvm/llvm-project] 452efb: [AArch64] Fix LDR/STR folding causing memtag failu...
Oliver Stannard via All-commits
all-commits at lists.llvm.org
Fri Dec 6 05:07:59 PST 2024
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 452efb35df641bac80a901c867ddfdd4de6ad2f4
https://github.com/llvm/llvm-project/commit/452efb35df641bac80a901c867ddfdd4de6ad2f4
Author: Oliver Stannard <oliver.stannard at arm.com>
Date: 2024-12-06 (Fri, 06 Dec 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp
A llvm/test/CodeGen/AArch64/memtag-merge-writeback.mir
Log Message:
-----------
[AArch64] Fix LDR/STR folding causing memtag failures (#118821)
When generating code with sanitize_memtag, we make use of the fact that
the sp+imm forms of many load and store instructions are not
tag-checked, so we can use SP directly instead of needing a register
holding the tagged pointer. However, this isn't true for the writeback
versions of the instructions, so we can't fold ADDs and SUBs into them
in AArch64LoadStoreOptimizer. This would be possible in cases where the
loads/stores only access untagged stack slots, but that information
isn't easily available after frame index elimination.
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list