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

Anatoly Trosinenko via All-commits all-commits at lists.llvm.org
Wed Sep 23 04:52:44 PDT 2026


  Branch: refs/heads/users/atrosinenko/outliner-killed-operand-flag
  Home:   https://github.com/llvm/llvm-project
  Commit: 1947fd78bcf150e6a62a1f66a66daec75505fa9e
      https://github.com/llvm/llvm-project/commit/1947fd78bcf150e6a62a1f66a66daec75505fa9e
  Author: Anatoly Trosinenko <atrosinenko at accesssoftek.com>
  Date:   2026-09-23 (Wed, 23 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: 4cc9bdafe4816ea2c8ead53d7f2e0bdf3331fa2e
      https://github.com/llvm/llvm-project/commit/4cc9bdafe4816ea2c8ead53d7f2e0bdf3331fa2e
  Author: Anatoly Trosinenko <atrosinenko at accesssoftek.com>
  Date:   2026-09-23 (Wed, 23 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/86977e83afbb...4cc9bdafe481

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