[llvm] r296058 - [GlobalISel] Use the DISubprogram for translation failure remarks.

Ahmed Bougacha via llvm-commits llvm-commits at lists.llvm.org
Thu Feb 23 16:34:44 PST 2017


Author: ab
Date: Thu Feb 23 18:34:44 2017
New Revision: 296058

URL: http://llvm.org/viewvc/llvm-project?rev=296058&view=rev
Log:
[GlobalISel] Use the DISubprogram for translation failure remarks.

Justin added support for DISubprogram locs in r295531 and r296052.
Use that instead of no-loc for constants and arguments.

Modified:
    llvm/trunk/lib/CodeGen/GlobalISel/IRTranslator.cpp
    llvm/trunk/lib/CodeGen/GlobalISel/InstructionSelect.cpp

Modified: llvm/trunk/lib/CodeGen/GlobalISel/IRTranslator.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/GlobalISel/IRTranslator.cpp?rev=296058&r1=296057&r2=296058&view=diff
==============================================================================
--- llvm/trunk/lib/CodeGen/GlobalISel/IRTranslator.cpp (original)
+++ llvm/trunk/lib/CodeGen/GlobalISel/IRTranslator.cpp Thu Feb 23 18:34:44 2017
@@ -89,7 +89,7 @@ unsigned IRTranslator::getOrCreateVReg(c
     bool Success = translate(*CV, VReg);
     if (!Success) {
       OptimizationRemarkMissed R("gisel-irtranslator", "GISelFailure",
-                                 DebugLoc(),
+                                 MF->getFunction()->getSubprogram(),
                                  &MF->getFunction()->getEntryBlock());
       R << "unable to translate constant: " << ore::NV("Type", Val.getType());
       reportTranslationError(*MF, *TPC, *ORE, R);
@@ -1049,7 +1049,8 @@ bool IRTranslator::runOnMachineFunction(
   for (const Argument &Arg: F.args())
     VRegArgs.push_back(getOrCreateVReg(Arg));
   if (!CLI->lowerFormalArguments(EntryBuilder, F, VRegArgs)) {
-    OptimizationRemarkMissed R("gisel-irtranslator", "GISelFailure", DebugLoc(),
+    OptimizationRemarkMissed R("gisel-irtranslator", "GISelFailure",
+                               MF->getFunction()->getSubprogram(),
                                &MF->getFunction()->getEntryBlock());
     R << "unable to lower arguments: " << ore::NV("Prototype", F.getType());
     reportTranslationError(*MF, *TPC, *ORE, R);

Modified: llvm/trunk/lib/CodeGen/GlobalISel/InstructionSelect.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/GlobalISel/InstructionSelect.cpp?rev=296058&r1=296057&r2=296058&view=diff
==============================================================================
--- llvm/trunk/lib/CodeGen/GlobalISel/InstructionSelect.cpp (original)
+++ llvm/trunk/lib/CodeGen/GlobalISel/InstructionSelect.cpp Thu Feb 23 18:34:44 2017
@@ -166,7 +166,8 @@ bool InstructionSelect::runOnMachineFunc
 
   if (MF.size() != NumBlocks) {
     MachineOptimizationRemarkMissed R("gisel-select", "GISelFailure",
-                                      DebugLoc(), /*MBB=*/nullptr);
+                                      MF.getFunction()->getSubprogram(),
+                                      /*MBB=*/nullptr);
     R << "inserting blocks is not supported yet";
     reportGISelFailure(MF, TPC, MORE, R);
     return false;




More information about the llvm-commits mailing list