[all-commits] [llvm/llvm-project] 376aa7: [RegAllocFast] Introduce test for PR131350 (NFC)

Antonio Frighetto via All-commits all-commits at lists.llvm.org
Mon Mar 24 01:24:05 PDT 2025


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 376aa741b59f9d6a44049f007d29fca832f8a4bf
      https://github.com/llvm/llvm-project/commit/376aa741b59f9d6a44049f007d29fca832f8a4bf
  Author: Antonio Frighetto <me at antoniofrighetto.com>
  Date:   2025-03-24 (Mon, 24 Mar 2025)

  Changed paths:
    A llvm/test/CodeGen/X86/regallocfast-callbr-asm-spills-after-reload.mir

  Log Message:
  -----------
  [RegAllocFast] Introduce test for PR131350 (NFC)


  Commit: ade22765174e64f6c02233eff8d55e6726e1bab1
      https://github.com/llvm/llvm-project/commit/ade22765174e64f6c02233eff8d55e6726e1bab1
  Author: Antonio Frighetto <me at antoniofrighetto.com>
  Date:   2025-03-24 (Mon, 24 Mar 2025)

  Changed paths:
    M llvm/lib/CodeGen/RegAllocFast.cpp
    M llvm/test/CodeGen/X86/regallocfast-callbr-asm-spills-after-reload.mir

  Log Message:
  -----------
  [RegAllocFast] Ensure live-in vregs get reloaded after INLINEASM_BR spills

We have already ensured in 9cec2b246e719533723562950e56c292fe5dd5ad
that `INLINEASM_BR` output operands get spilled onto the stack, both
in the fallthrough path and in the indirect targets. Since reloads of
live-ins values into physical registers contextually happen after all
MIR instructions (and ops) have been visited, make sure such loads are
placed at the start of the block, but after prologues or `INLINEASM_BR`
spills, as otherwise this may cause stale values to be read from the
stack.

Fixes: #74483, #110251.


Compare: https://github.com/llvm/llvm-project/compare/41f9a00818d4...ade22765174e

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