diff options
author | Ahmed Bougacha <ahmed.bougacha@gmail.com> | 2017-02-24 00:34:44 +0000 |
---|---|---|
committer | Ahmed Bougacha <ahmed.bougacha@gmail.com> | 2017-02-24 00:34:44 +0000 |
commit | 7c88a4e12b9652c8fbea593d092bf06d5114aaf4 (patch) | |
tree | 53450a80dbe196ff3084e995a310ec61e2a752c1 | |
parent | 8f9e99bcb6558846b85202029c137d6d72350530 (diff) | |
download | bcm5719-llvm-7c88a4e12b9652c8fbea593d092bf06d5114aaf4.tar.gz bcm5719-llvm-7c88a4e12b9652c8fbea593d092bf06d5114aaf4.zip |
[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.
llvm-svn: 296058
-rw-r--r-- | llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp | 5 | ||||
-rw-r--r-- | llvm/lib/CodeGen/GlobalISel/InstructionSelect.cpp | 3 |
2 files changed, 5 insertions, 3 deletions
diff --git a/llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp b/llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp index 2df3810afae..0602e480383 100644 --- a/llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp +++ b/llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp @@ -89,7 +89,7 @@ unsigned IRTranslator::getOrCreateVReg(const Value &Val) { 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(MachineFunction &CurMF) { 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); diff --git a/llvm/lib/CodeGen/GlobalISel/InstructionSelect.cpp b/llvm/lib/CodeGen/GlobalISel/InstructionSelect.cpp index 70159d61369..0f7a254075a 100644 --- a/llvm/lib/CodeGen/GlobalISel/InstructionSelect.cpp +++ b/llvm/lib/CodeGen/GlobalISel/InstructionSelect.cpp @@ -166,7 +166,8 @@ bool InstructionSelect::runOnMachineFunction(MachineFunction &MF) { 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; |