diff --git a/utils/TableGen/CodeGenRegisters.h b/utils/TableGen/CodeGenRegisters.h
index 7f45b6f..f6d6af8 100644
--- a/utils/TableGen/CodeGenRegisters.h
+++ b/utils/TableGen/CodeGenRegisters.h
@@ -30,6 +30,7 @@
     Record *TheDef;
     const std::string &getName() const;
     unsigned DeclaredSpillSize, DeclaredSpillAlignment;
+    unsigned EnumValue;
     CodeGenRegister(Record *R);
   };
 
diff --git a/utils/TableGen/CodeGenTarget.cpp b/utils/TableGen/CodeGenTarget.cpp
index 52df698..cc09c8d 100644
--- a/utils/TableGen/CodeGenTarget.cpp
+++ b/utils/TableGen/CodeGenTarget.cpp
@@ -164,6 +164,9 @@
 
   Registers.reserve(Regs.size());
   Registers.assign(Regs.begin(), Regs.end());
+  // Assign the enumeration values.
+  for (unsigned i = 0, e = Registers.size(); i != e; ++i)
+    Registers[i].EnumValue = i + 1;
 }
 
 CodeGenRegister::CodeGenRegister(Record *R) : TheDef(R) {
diff --git a/utils/TableGen/RegisterInfoEmitter.cpp b/utils/TableGen/RegisterInfoEmitter.cpp
index 7857c5b..b3a9dea 100644
--- a/utils/TableGen/RegisterInfoEmitter.cpp
+++ b/utils/TableGen/RegisterInfoEmitter.cpp
@@ -38,7 +38,10 @@
   OS << "enum {\n  NoRegister,\n";
 
   for (unsigned i = 0, e = Registers.size(); i != e; ++i)
-    OS << "  " << Registers[i].getName() << ", \t// " << i+1 << "\n";
+    OS << "  " << Registers[i].getName() << " = " <<
+      Registers[i].EnumValue << ",\n";
+  assert(Registers.size() == Registers[Registers.size()-1].EnumValue &&
+         "Register enum value mismatch!");
   OS << "  NUM_TARGET_REGS \t// " << Registers.size()+1 << "\n";
   OS << "};\n";
   if (!Namespace.empty())
