Store CodeGenRegisters as pointers so they won't be reallocated.
[oota-llvm.git] / utils / TableGen / FastISelEmitter.cpp
index 6c2a76734c552658025e82507361f5e5a3fc2a8f..ef912df3e88e67c0bdcad716dc7e03ff22d7b0d8 100644 (file)
@@ -406,15 +406,7 @@ static std::string PhyRegForNode(TreePatternNode *Op,
   PhysReg += static_cast<StringInit*>(OpLeafRec->getValue( \
              "Namespace")->getValue())->getValue();
   PhysReg += "::";
-
-  std::vector<CodeGenRegister> Regs = Target.getRegisters();
-  for (unsigned i = 0; i < Regs.size(); ++i) {
-    if (Regs[i].TheDef == OpLeafRec) {
-      PhysReg += Regs[i].getName();
-      break;
-    }
-  }
-
+  PhysReg += Target.getRegBank().getReg(OpLeafRec)->getName();
   return PhysReg;
 }