diff options
author | Jakob Stoklund Olesen <stoklund@2pi.dk> | 2010-05-25 19:49:38 +0000 |
---|---|---|
committer | Jakob Stoklund Olesen <stoklund@2pi.dk> | 2010-05-25 19:49:38 +0000 |
commit | 8b480cba0f1a48393bf59c644c01209cb3f6a49d (patch) | |
tree | cbf49f86c46eaef7f8cd24030d156bbed38a582e /utils | |
parent | 5157ceb81fb9497b7dff69b2474bd5e4254fef88 (diff) | |
download | external_llvm-8b480cba0f1a48393bf59c644c01209cb3f6a49d.zip external_llvm-8b480cba0f1a48393bf59c644c01209cb3f6a49d.tar.gz external_llvm-8b480cba0f1a48393bf59c644c01209cb3f6a49d.tar.bz2 |
Print symbolic SubRegIndex names on machine operands.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104628 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'utils')
-rw-r--r-- | utils/TableGen/RegisterInfoEmitter.cpp | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/utils/TableGen/RegisterInfoEmitter.cpp b/utils/TableGen/RegisterInfoEmitter.cpp index 28429fa..baaf044 100644 --- a/utils/TableGen/RegisterInfoEmitter.cpp +++ b/utils/TableGen/RegisterInfoEmitter.cpp @@ -811,6 +811,16 @@ void RegisterInfoEmitter::run(raw_ostream &OS) { OS << "Empty_SuperRegsSet },\n"; } OS << " };\n"; // End of register descriptors... + + // Emit SubRegIndex names, skipping 0 + const std::vector<Record*> SubRegIndices = Target.getSubRegIndices(); + OS << "\n const char *const SubRegIndexTable[] = { \""; + for (unsigned i = 0, e = SubRegIndices.size(); i != e; ++i) { + OS << SubRegIndices[i]->getName(); + if (i+1 != e) + OS << "\", \""; + } + OS << "\" };\n\n"; OS << "}\n\n"; // End of anonymous namespace... std::string ClassName = Target.getName() + "GenRegisterInfo"; @@ -876,7 +886,8 @@ void RegisterInfoEmitter::run(raw_ostream &OS) { OS << ClassName << "::" << ClassName << "(int CallFrameSetupOpcode, int CallFrameDestroyOpcode)\n" << " : TargetRegisterInfo(RegisterDescriptors, " << Registers.size()+1 - << ", RegisterClasses, RegisterClasses+" << RegisterClasses.size() <<",\n " + << ", RegisterClasses, RegisterClasses+" << RegisterClasses.size() <<",\n" + << " SubRegIndexTable,\n" << " CallFrameSetupOpcode, CallFrameDestroyOpcode,\n" << " SubregHashTable, SubregHashTableSize,\n" << " SuperregHashTable, SuperregHashTableSize,\n" |