Use CodeGenRegister class to make reading in of register information more

systematic.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15805 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Chris Lattner
2004-08-16 01:10:21 +00:00
parent 8dab6ca9c6
commit 2669311320
3 changed files with 42 additions and 19 deletions
+14 -1
View File
@@ -103,11 +103,24 @@ Record *CodeGenTarget::getAsmWriter() const {
return TargetRec->getValueAsDef("AssemblyWriter");
}
void CodeGenTarget::ReadRegisters() const {
std::vector<Record*> Regs = Records.getAllDerivedDefinitions("Register");
if (Regs.empty())
throw std::string("No 'Register' subclasses defined!");
Registers.reserve(Regs.size());
Registers.assign(Regs.begin(), Regs.end());
}
const std::string &CodeGenRegister::getName() const {
return TheDef->getName();
}
void CodeGenTarget::ReadInstructions() const {
std::vector<Record*> Insts = Records.getAllDerivedDefinitions("Instruction");
if (Insts.size() == 0)
if (Insts.empty())
throw std::string("No 'Instruction' subclasses defined!");
std::string InstFormatName =