[all-commits] [llvm/llvm-project] e07b47: [LFI][AArch64] Add rewrites for memory accesses (#...
Zachary Yedidia via All-commits
all-commits at lists.llvm.org
Wed Jun 10 12:58:26 PDT 2026
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: e07b47ee180559fafb6ce37dece10200c19f1941
https://github.com/llvm/llvm-project/commit/e07b47ee180559fafb6ce37dece10200c19f1941
Author: Zachary Yedidia <zyedidia at gmail.com>
Date: 2026-06-10 (Wed, 10 Jun 2026)
Changed paths:
M llvm/docs/LFI.rst
M llvm/lib/Target/AArch64/AArch64.td
M llvm/lib/Target/AArch64/AArch64Features.td
M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
A llvm/lib/Target/AArch64/AArch64LFI.td
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCLFIRewriter.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCLFIRewriter.h
A llvm/test/MC/AArch64/LFI/exclusive.s
A llvm/test/MC/AArch64/LFI/fp.s
A llvm/test/MC/AArch64/LFI/jumps-only.s
A llvm/test/MC/AArch64/LFI/literal.s
A llvm/test/MC/AArch64/LFI/lse.s
A llvm/test/MC/AArch64/LFI/mem-lr.s
A llvm/test/MC/AArch64/LFI/mem.s
A llvm/test/MC/AArch64/LFI/no-lfi-loads.s
A llvm/test/MC/AArch64/LFI/no-lfi-stores.s
A llvm/test/MC/AArch64/LFI/passthrough.s
A llvm/test/MC/AArch64/LFI/prefetch.s
A llvm/test/MC/AArch64/LFI/rcpc.s
A llvm/test/MC/AArch64/LFI/simd.s
A llvm/test/MC/AArch64/LFI/stack.s
M llvm/test/MC/AArch64/LFI/sys.s
Log Message:
-----------
[LFI][AArch64] Add rewrites for memory accesses (#195167)
This patch adds LFI rewrites for loads and stores, and guards for stack
pointer modifications.
This also introduces the `+no-lfi-stores` and `+no-lfi-loads` features
to control the granularity of memory sandboxing.
With these changes the rewriter now supports making fully
software-sandboxed programs. There are some minor changes
needed in libunwind to avoid emitting SVE/MTE instructions that
cause verification failure, which will be addressed in a future patch.
Future work includes the guard elimination optimization, which will
improve performance, Clang flags to control the LFI subtarget
features from the frontend, and that can also set a macro that
communicates the LFI feature level.
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