[all-commits] [llvm/llvm-project] cb0c71: AMDGPU: Adjust register allocation priority values...

Matt Arsenault via All-commits all-commits at lists.llvm.org
Mon Jul 25 12:47:27 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: cb0c71e8b198aedd7569c0561ad3efba1d3d5766
      https://github.com/llvm/llvm-project/commit/cb0c71e8b198aedd7569c0561ad3efba1d3d5766
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2022-07-25 (Mon, 25 Jul 2022)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIRegisterInfo.td
    M llvm/test/CodeGen/AMDGPU/agpr-copy-no-free-registers.ll
    M llvm/test/CodeGen/AMDGPU/constant-address-space-32bit.ll
    M llvm/test/CodeGen/AMDGPU/extend-phi-subrange-not-in-parent.mir
    M llvm/test/CodeGen/AMDGPU/indirect-call.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.wqm.demote.ll
    M llvm/test/CodeGen/AMDGPU/spill-vgpr.ll
    M llvm/test/CodeGen/AMDGPU/srem64.ll
    M llvm/test/CodeGen/AMDGPU/unstructured-cfg-def-use-issue.ll
    M llvm/test/CodeGen/AMDGPU/urem64.ll

  Log Message:
  -----------
  AMDGPU: Adjust register allocation priority values down

Set the priorities consistently to number of registers in the tuple -
1. Previously we started at 1, and also tried to give SGPR higher
values than VGPRs. There's no point in assigning SGPRs higher values
now that those are allocated in a separate regalloc run.

This avoids overflowing the 5 bits used for the class priority in the
allocation heuristic for 32 element tuples. This avoids some cases
where smaller registers unexpectedly get prioritized over larger.


  Commit: 62531518f989fb7dacf4b4bd3fa781a99f65c55e
      https://github.com/llvm/llvm-project/commit/62531518f989fb7dacf4b4bd3fa781a99f65c55e
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2022-07-25 (Mon, 25 Jul 2022)

  Changed paths:
    M llvm/lib/CodeGen/RegAllocGreedy.cpp
    M llvm/lib/CodeGen/RegAllocGreedy.h
    A llvm/test/CodeGen/AMDGPU/greedy-reverse-local-assignment.ll

  Log Message:
  -----------
  RegAllocGreedy: Add a command line flag for reverseLocalAssignment

Introduce a flag like for some of the other target heuristic controls
to help with experimentation.


Compare: https://github.com/llvm/llvm-project/compare/d61d72dae604...62531518f989


More information about the All-commits mailing list