Store CodeGenRegisters as pointers so they won't be reallocated.
[oota-llvm.git] / utils / TableGen / CodeGenRegisters.h
index 5260a14427131fa29b34374f2901ac94a477b2f6..5edbf475659b0587ceb7c2baa6c987044cc8bf90 100644 (file)
@@ -148,7 +148,7 @@ namespace llvm {
 
     std::vector<Record*> SubRegIndices;
     unsigned NumNamedIndices;
-    std::vector<CodeGenRegister> Registers;
+    std::vector<CodeGenRegister*> Registers;
     DenseMap<Record*, CodeGenRegister*> Def2Reg;
 
     std::vector<CodeGenRegisterClass> RegClasses;
@@ -179,7 +179,7 @@ namespace llvm {
     // Find or create a sub-register index representing the A+B composition.
     Record *getCompositeSubRegIndex(Record *A, Record *B, bool create = false);
 
-    const std::vector<CodeGenRegister> &getRegisters() { return Registers; }
+    const std::vector<CodeGenRegister*> &getRegisters() { return Registers; }
 
     // Find a register from its Record def.
     CodeGenRegister *getReg(Record*);