[all-commits] [llvm/llvm-project] 833b8a: [AArch64][PAC] Reset `killed` operand flags in out...
Anatoly Trosinenko via All-commits
all-commits at lists.llvm.org
Thu Sep 10 11:12:22 PDT 2026
Branch: refs/heads/users/atrosinenko/outliner-killed-operand-flag
Home: https://github.com/llvm/llvm-project
Commit: 833b8a032c67bcc36ccf512908f9da085f33165d
https://github.com/llvm/llvm-project/commit/833b8a032c67bcc36ccf512908f9da085f33165d
Author: Anatoly Trosinenko <atrosinenko at accesssoftek.com>
Date: 2026-09-10 (Thu, 10 Sep 2026)
Changed paths:
M llvm/lib/CodeGen/MachineOutliner.cpp
A llvm/test/CodeGen/AArch64/machine-outliner-operand-flags.mir
Log Message:
-----------
[AArch64][PAC] Reset `killed` operand flags in outlined functions
Presently, MachineOutliner does not take `killed` operand flags into
account when merging instruction sequences. While it sounds perfectly
reasonable not to inhibit merging of the instruction sequences that
only differ in `killed` flags (for N flags there is technically 2^N
valid ways to drop some subset of them), copying these flags from
an arbitrarily chosen representative instruction may result in
incorrect codegen of PAuth-related pseudo instructions on AArch64.
To keep `killed` flags conservatively correct as if `OUTLINED_FUNCTION`s
are virtually re-inserted at every call site, this patch takes the
simplest approach of resetting every `killed` flag inside the
outlined functions.
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