Changeset View
Changeset View
Standalone View
Standalone View
llvm/lib/Target/RISCV/RISCVRegisterInfo.td
Show First 20 Lines • Show All 71 Lines • ▼ Show 20 Lines | |||||
// Integer registers | // Integer registers | ||||
// CostPerUse is set higher for registers that may not be compressible as they | // CostPerUse is set higher for registers that may not be compressible as they | ||||
// are not part of GPRC, the most restrictive register class used by the | // are not part of GPRC, the most restrictive register class used by the | ||||
// compressed instruction set. This will influence the greedy register | // compressed instruction set. This will influence the greedy register | ||||
// allocator to reduce the use of registers that can't be encoded in 16 bit | // allocator to reduce the use of registers that can't be encoded in 16 bit | ||||
// instructions. | // instructions. | ||||
let RegAltNameIndices = [ABIRegAltName] in { | let RegAltNameIndices = [ABIRegAltName] in { | ||||
def X0 : RISCVReg<0, "x0", ["zero"]>, DwarfRegNum<[0]>; | def X0 : RISCVReg<0, "x0", ["zero"]>, DwarfRegNum<[0]> { let isConstant = true; } | ||||
jrtc27: I don't know about other architectures, but RISCV style would be to use let ... in (like… | |||||
let CostPerUse = [0, 1] in { | let CostPerUse = [0, 1] in { | ||||
def X1 : RISCVReg<1, "x1", ["ra"]>, DwarfRegNum<[1]>; | def X1 : RISCVReg<1, "x1", ["ra"]>, DwarfRegNum<[1]>; | ||||
def X2 : RISCVReg<2, "x2", ["sp"]>, DwarfRegNum<[2]>; | def X2 : RISCVReg<2, "x2", ["sp"]>, DwarfRegNum<[2]>; | ||||
def X3 : RISCVReg<3, "x3", ["gp"]>, DwarfRegNum<[3]>; | def X3 : RISCVReg<3, "x3", ["gp"]>, DwarfRegNum<[3]>; | ||||
def X4 : RISCVReg<4, "x4", ["tp"]>, DwarfRegNum<[4]>; | def X4 : RISCVReg<4, "x4", ["tp"]>, DwarfRegNum<[4]>; | ||||
def X5 : RISCVReg<5, "x5", ["t0"]>, DwarfRegNum<[5]>; | def X5 : RISCVReg<5, "x5", ["t0"]>, DwarfRegNum<[5]>; | ||||
def X6 : RISCVReg<6, "x6", ["t1"]>, DwarfRegNum<[6]>; | def X6 : RISCVReg<6, "x6", ["t1"]>, DwarfRegNum<[6]>; | ||||
def X7 : RISCVReg<7, "x7", ["t2"]>, DwarfRegNum<[7]>; | def X7 : RISCVReg<7, "x7", ["t2"]>, DwarfRegNum<[7]>; | ||||
▲ Show 20 Lines • Show All 516 Lines • Show Last 20 Lines |
I don't know about other architectures, but RISCV style would be to use let ... in (like CostPerUse below). It'd be good to make sure your change it style-consistent for each backend.