[all-commits] [llvm/llvm-project] d7750a: ARM: Track CPSR liveness in Thumb2SizeReduction wi...

Matt Arsenault via All-commits all-commits at lists.llvm.org
Tue Sep 22 01:35:58 PDT 2026


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: d7750af92b0b0df0eb4e77f82b47f9e93f29b7b1
      https://github.com/llvm/llvm-project/commit/d7750af92b0b0df0eb4e77f82b47f9e93f29b7b1
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2026-09-22 (Tue, 22 Sep 2026)

  Changed paths:
    M llvm/lib/Target/ARM/Thumb2SizeReduction.cpp
    M llvm/test/CodeGen/ARM/cmse-harden-call-returned-values.ll
    A llvm/test/CodeGen/Thumb2/thumb2-reduce-size-cpsr.mir

  Log Message:
  -----------
  ARM: Track CPSR liveness in Thumb2SizeReduction without kill flags (#223068)

Thumb2SizeReduction narrows a 32-bit instruction to its flag-setting
16-bit form only when CPSR is dead afterwards. It determined this from
kill flags on CPSR operands. Kill flags have been semi-deprecated
for over a decade, so avoid relying on them. Liveness should be
evaluated as a reverse walk over a block.

The existing forward walk over the block is still necessary as a
separate step for the different A9 avoidCPSRPartialUpdate optimization.

Co-Authored-By: Claude claude-opus-4.8 <noreply at anthropic.com>



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