[MC] Improve error message when a codeview register is unknown
authorReid Kleckner <rnk@google.com>
Fri, 17 Aug 2018 21:35:14 +0000 (21:35 +0000)
committerReid Kleckner <rnk@google.com>
Fri, 17 Aug 2018 21:35:14 +0000 (21:35 +0000)
This is in MCRegisterInfo, we can print the actual register name easily.

llvm-svn: 340089

llvm/lib/MC/MCRegisterInfo.cpp

index 8e47963..5abae53 100644 (file)
@@ -13,6 +13,7 @@
 
 #include "llvm/MC/MCRegisterInfo.h"
 #include "llvm/ADT/DenseMap.h"
+#include "llvm/ADT/Twine.h"
 #include "llvm/Support/ErrorHandling.h"
 #include <algorithm>
 #include <cassert>
@@ -127,6 +128,8 @@ int MCRegisterInfo::getCodeViewRegNum(unsigned RegNum) const {
     report_fatal_error("target does not implement codeview register mapping");
   const DenseMap<unsigned, int>::const_iterator I = L2CVRegs.find(RegNum);
   if (I == L2CVRegs.end())
-    report_fatal_error("unknown codeview register");
+    report_fatal_error("unknown codeview register " + (RegNum < getNumRegs()
+                                                           ? getName(RegNum)
+                                                           : Twine(RegNum)));
   return I->second;
 }