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

Matt Arsenault via All-commits all-commits at lists.llvm.org
Wed Dec 11 17:21:14 PST 2024


  Branch: refs/heads/users/arsenm/regalloc-no-fatal-error-no-available-registers
  Home:   https://github.com/llvm/llvm-project
  Commit: adaf2af42dc5b7c73c50cbdf4acf87fc9307a658
      https://github.com/llvm/llvm-project/commit/adaf2af42dc5b7c73c50cbdf4acf87fc9307a658
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-12-12 (Thu, 12 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