[all-commits] [llvm/llvm-project] 892e45: Support a list of CostPerUse values

Christudasan Devadasan via All-commits all-commits at lists.llvm.org
Thu Jan 28 20:46:34 PST 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 892e4567e1357ee10ef67ee6dfbe45aeded9d2dc
      https://github.com/llvm/llvm-project/commit/892e4567e1357ee10ef67ee6dfbe45aeded9d2dc
  Author: Christudasan Devadasan <Christudasan.Devadasan at amd.com>
  Date:   2021-01-29 (Fri, 29 Jan 2021)

  Changed paths:
    M llvm/include/llvm/CodeGen/RegisterClassInfo.h
    M llvm/include/llvm/CodeGen/TargetRegisterInfo.h
    M llvm/include/llvm/Target/Target.td
    M llvm/lib/CodeGen/RegAllocGreedy.cpp
    M llvm/lib/CodeGen/RegisterClassInfo.cpp
    M llvm/lib/Target/ARC/ARCRegisterInfo.td
    M llvm/lib/Target/ARM/ARMRegisterInfo.td
    M llvm/lib/Target/RISCV/RISCVRegisterInfo.td
    M llvm/lib/Target/X86/X86RegisterInfo.td
    A llvm/test/TableGen/RegisterInfoEmitter-regcost-list.td
    A llvm/test/TableGen/RegisterInfoEmitter-regcost-tuple.td
    A llvm/test/TableGen/RegisterInfoEmitter-regcost.td
    M llvm/utils/TableGen/CodeGenRegisters.cpp
    M llvm/utils/TableGen/CodeGenRegisters.h
    M llvm/utils/TableGen/RegisterInfoEmitter.cpp

  Log Message:
  -----------
  Support a list of CostPerUse values

This patch allows targets to define multiple cost
values for each register so that the cost model
can be more flexible and better used during the
register allocation as per the target requirements.

For AMDGPU the VGPR allocation will be more efficient
if the register cost can be associated dynamically
based on the calling convention.

Reviewed By: qcolombet

Differential Revision: https://reviews.llvm.org/D86836




More information about the All-commits mailing list