[all-commits] [llvm/llvm-project] 89c1bf: [AArch64][PAC] Reset `killed` operand flags in out...

Anatoly Trosinenko via All-commits all-commits at lists.llvm.org
Thu Sep 24 04:06:21 PDT 2026


  Branch: refs/heads/users/atrosinenko/outliner-killed-operand-flag
  Home:   https://github.com/llvm/llvm-project
  Commit: 89c1bfab398880984b943db87cc5e01a80d3555d
      https://github.com/llvm/llvm-project/commit/89c1bfab398880984b943db87cc5e01a80d3555d
  Author: Anatoly Trosinenko <atrosinenko at accesssoftek.com>
  Date:   2026-09-24 (Thu, 24 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.


  Commit: 0273f1dc9c23caadaa8d29615db14ae2acb041b9
      https://github.com/llvm/llvm-project/commit/0273f1dc9c23caadaa8d29615db14ae2acb041b9
  Author: Anatoly Trosinenko <atrosinenko at accesssoftek.com>
  Date:   2026-09-24 (Thu, 24 Sep 2026)

  Changed paths:
    M llvm/test/CodeGen/ARM/machine-outliner-stack-fixup-thumb.mir

  Log Message:
  -----------
  Update CodeGen/ARM/machine-outliner-stack-fixup-thumb.mir


Compare: https://github.com/llvm/llvm-project/compare/4cc9bdafe481...0273f1dc9c23

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