[all-commits] [llvm/llvm-project] cf55b9: [AArch64][Darwin][SME] Don't try to save VG to the...

Sander de Smalen via All-commits all-commits at lists.llvm.org
Mon Dec 2 23:30:55 PST 2024


  Branch: refs/heads/release/19.x
  Home:   https://github.com/llvm/llvm-project
  Commit: cf55b9cb8af3ce3fa776e46e6ad71155a7d38c75
      https://github.com/llvm/llvm-project/commit/cf55b9cb8af3ce3fa776e46e6ad71155a7d38c75
  Author: Amara Emerson <amara at apple.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    A llvm/test/CodeGen/AArch64/sme-darwin-no-sve-vg.ll

  Log Message:
  -----------
  [AArch64][Darwin][SME] Don't try to save VG to the stack for unwinding.

On Darwin we don't have any hardware that has SVE support, only SME.
Therefore we don't need to save VG for unwinders and can safely omit it.

This also fixes crashes introduced since this feature landed since Darwin's
compact unwind code can't handle the presence of VG anyway.

rdar://131072344


  Commit: 4716c4752fd56692bcca775606a2650418eb3be8
      https://github.com/llvm/llvm-project/commit/4716c4752fd56692bcca775606a2650418eb3be8
  Author: Kerry McLaughlin <kerry.mclaughlin at arm.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
    A llvm/test/CodeGen/AArch64/sme-darwin-sve-vg.ll

  Log Message:
  -----------
  [AArch64][SME] Return false from produceCompactUnwindFrame if VG save required. (#104588)

The compact unwind format requires all registers are stored in pairs, so
return false from produceCompactUnwindFrame if we require saving VG.


  Commit: 876d0501d312b7303423fc4d3c388174a1465ca5
      https://github.com/llvm/llvm-project/commit/876d0501d312b7303423fc4d3c388174a1465ca5
  Author: Sander de Smalen <sander.desmalen at arm.com>
  Date:   2024-12-03 (Tue, 03 Dec 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
    M llvm/test/CodeGen/AArch64/sme-vg-to-stack.ll

  Log Message:
  -----------
  [AArch64][SME] Fix iterator to fixupCalleeSaveRestoreStackOffset (#110855)

The iterator passed to `fixupCalleeSaveRestoreStackOffset` may be
incorrect when it tries to skip over the instructions that get the
current value of 'vg', when there is a 'rdsvl' instruction straight
after the prologue. That's because it doesn't check that the instruction
is still a 'frame-setup' instruction.


Compare: https://github.com/llvm/llvm-project/compare/e6bcdea700dc...876d0501d312

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