Changeset View
Changeset View
Standalone View
Standalone View
llvm/utils/TableGen/CodeGenRegisters.cpp
Show First 20 Lines • Show All 148 Lines • ▼ Show 20 Lines | |||||
//===----------------------------------------------------------------------===// | //===----------------------------------------------------------------------===// | ||||
// CodeGenRegister | // CodeGenRegister | ||||
//===----------------------------------------------------------------------===// | //===----------------------------------------------------------------------===// | ||||
CodeGenRegister::CodeGenRegister(Record *R, unsigned Enum) | CodeGenRegister::CodeGenRegister(Record *R, unsigned Enum) | ||||
: TheDef(R), EnumValue(Enum), | : TheDef(R), EnumValue(Enum), | ||||
CostPerUse(R->getValueAsListOfInts("CostPerUse")), | CostPerUse(R->getValueAsListOfInts("CostPerUse")), | ||||
CoveredBySubRegs(R->getValueAsBit("CoveredBySubRegs")), | CoveredBySubRegs(R->getValueAsBit("CoveredBySubRegs")), | ||||
HasDisjunctSubRegs(false), SubRegsComplete(false), | HasDisjunctSubRegs(false), Constant(R->getValueAsBit("isConstant")), | ||||
SuperRegsComplete(false), TopoSig(~0u) { | SubRegsComplete(false), SuperRegsComplete(false), TopoSig(~0u) { | ||||
Artificial = R->getValueAsBit("isArtificial"); | Artificial = R->getValueAsBit("isArtificial"); | ||||
jrtc27: I would expect Constant and Artificial to be handled the same way but I don't know why this is… | |||||
} | } | ||||
void CodeGenRegister::buildObjectGraph(CodeGenRegBank &RegBank) { | void CodeGenRegister::buildObjectGraph(CodeGenRegBank &RegBank) { | ||||
std::vector<Record*> SRIs = TheDef->getValueAsListOfDefs("SubRegIndices"); | std::vector<Record*> SRIs = TheDef->getValueAsListOfDefs("SubRegIndices"); | ||||
std::vector<Record*> SRs = TheDef->getValueAsListOfDefs("SubRegs"); | std::vector<Record*> SRs = TheDef->getValueAsListOfDefs("SubRegs"); | ||||
if (SRIs.size() != SRs.size()) | if (SRIs.size() != SRs.size()) | ||||
PrintFatalError(TheDef->getLoc(), | PrintFatalError(TheDef->getLoc(), | ||||
▲ Show 20 Lines • Show All 2,328 Lines • Show Last 20 Lines |
I would expect Constant and Artificial to be handled the same way but I don't know why this is here...