[all-commits] [llvm/llvm-project] edfb48: RegAlloc: Do not fatal error if there are no regis...

Matt Arsenault via All-commits all-commits at lists.llvm.org
Sun Dec 15 17:50:05 PST 2024


  Branch: refs/heads/users/arsenm/regalloc-no-fatal-error-no-available-registers
  Home:   https://github.com/llvm/llvm-project
  Commit: edfb48874233a0f78a84955b43204ee00089bbe0
      https://github.com/llvm/llvm-project/commit/edfb48874233a0f78a84955b43204ee00089bbe0
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-12-16 (Mon, 16 Dec 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/MachineFunction.h
    M llvm/lib/CodeGen/MachineFunction.cpp
    M llvm/lib/CodeGen/RegAllocBase.cpp
    M llvm/lib/CodeGen/RegAllocBase.h
    M llvm/lib/CodeGen/RegAllocFast.cpp
    M llvm/lib/CodeGen/VirtRegMap.cpp
    M llvm/test/CodeGen/AMDGPU/alloc-all-regs-reserved-in-class.mir
    M llvm/test/CodeGen/AMDGPU/ran-out-of-registers-error-all-regs-reserved.ll
    M llvm/test/CodeGen/AMDGPU/ran-out-of-registers-errors.ll
    M llvm/test/CodeGen/AMDGPU/regalloc-illegal-eviction-assert.ll

  Log Message:
  -----------
  RegAlloc: Do not fatal error if there are no registers in the alloc order

Try to use DiagnosticInfo if every register in the class is reserved
by forcing assignment to a reserved register. Also reduces the number
of redundant errors emitted, particularly with fast.

This is still broken in the case of undef uses. There are additional
complications in greedy and fast, so leave it for a separate fix.



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