diff options
author | Jakob Stoklund Olesen <stoklund@2pi.dk> | 2011-06-18 04:26:06 +0000 |
---|---|---|
committer | Jakob Stoklund Olesen <stoklund@2pi.dk> | 2011-06-18 04:26:06 +0000 |
commit | abdbc84b4ed4276ed3def50f554e3ba156325717 (patch) | |
tree | 0a8118fb468d1b1082af23704e254bf94de424c6 /utils/TableGen/AsmWriterEmitter.cpp | |
parent | 54c47c1ce94b9e549ef768e80fd004788d13ce85 (diff) | |
download | llvm-abdbc84b4ed4276ed3def50f554e3ba156325717.tar.gz llvm-abdbc84b4ed4276ed3def50f554e3ba156325717.tar.bz2 llvm-abdbc84b4ed4276ed3def50f554e3ba156325717.tar.xz |
Store CodeGenRegisters as pointers so they won't be reallocated.
Reuse the CodeGenRegBank DenseMap in a few places that would build their
own or use linear search.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133333 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'utils/TableGen/AsmWriterEmitter.cpp')
-rw-r--r-- | utils/TableGen/AsmWriterEmitter.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/utils/TableGen/AsmWriterEmitter.cpp b/utils/TableGen/AsmWriterEmitter.cpp index 818053a3c4..f3dfb4eb15 100644 --- a/utils/TableGen/AsmWriterEmitter.cpp +++ b/utils/TableGen/AsmWriterEmitter.cpp @@ -462,7 +462,8 @@ void AsmWriterEmitter::EmitGetRegisterName(raw_ostream &O) { CodeGenTarget Target(Records); Record *AsmWriter = Target.getAsmWriter(); std::string ClassName = AsmWriter->getValueAsString("AsmWriterClassName"); - const std::vector<CodeGenRegister> &Registers = Target.getRegisters(); + const std::vector<CodeGenRegister*> &Registers = + Target.getRegBank().getRegisters(); StringToOffsetTable StringTable; O << @@ -476,7 +477,7 @@ void AsmWriterEmitter::EmitGetRegisterName(raw_ostream &O) { << "\n" << " static const unsigned RegAsmOffset[] = {"; for (unsigned i = 0, e = Registers.size(); i != e; ++i) { - const CodeGenRegister &Reg = Registers[i]; + const CodeGenRegister &Reg = *Registers[i]; std::string AsmName = Reg.TheDef->getValueAsString("AsmName"); if (AsmName.empty()) |