[WinEH] Improve fatal error message about failed demotion
authorReid Kleckner <reid@kleckner.net>
Wed, 6 May 2015 18:45:24 +0000 (18:45 +0000)
committerReid Kleckner <reid@kleckner.net>
Wed, 6 May 2015 18:45:24 +0000 (18:45 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@236626 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/WinEHPrepare.cpp

index 2c72a556f75a28fde29adef20c948bac8dd0cfa4..f9497a3d9896f18521cd5dc500c0b3e7cb8cefcf 100644 (file)
@@ -1732,7 +1732,12 @@ Value *WinEHFrameVariableMaterializer::materializeValueFor(Value *V) {
   }
 
   if (isa<Instruction>(V) || isa<Argument>(V)) {
-    errs() << "Failed to demote instruction used in exception handler:\n";
+    Function *Parent = isa<Instruction>(V)
+                           ? cast<Instruction>(V)->getParent()->getParent()
+                           : cast<Argument>(V)->getParent();
+    errs()
+        << "Failed to demote instruction used in exception handler of function "
+        << GlobalValue::getRealLinkageName(Parent->getName()) << ":\n";
     errs() << "  " << *V << '\n';
     report_fatal_error("WinEHPrepare failed to demote instruction");
   }