diff options
Diffstat (limited to 'llvm/lib/Target/BPF/BPFMIChecking.cpp')
| -rw-r--r-- | llvm/lib/Target/BPF/BPFMIChecking.cpp | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/llvm/lib/Target/BPF/BPFMIChecking.cpp b/llvm/lib/Target/BPF/BPFMIChecking.cpp index 89ac485b1675..a968950f5bfc 100644 --- a/llvm/lib/Target/BPF/BPFMIChecking.cpp +++ b/llvm/lib/Target/BPF/BPFMIChecking.cpp @@ -20,6 +20,7 @@ #include "llvm/CodeGen/MachineFunctionPass.h" #include "llvm/CodeGen/MachineInstrBuilder.h" #include "llvm/CodeGen/MachineRegisterInfo.h" +#include "llvm/IR/DiagnosticInfo.h" #include "llvm/Support/Debug.h" using namespace llvm; @@ -164,11 +165,9 @@ bool BPFMIPreEmitChecking::processAtomicInsts() { if (hasLiveDefs(MI, TRI)) { DebugLoc Empty; const DebugLoc &DL = MI.getDebugLoc(); - if (DL != Empty) - report_fatal_error(Twine("line ") + std::to_string(DL.getLine()) + - ": Invalid usage of the XADD return value", false); - else - report_fatal_error("Invalid usage of the XADD return value", false); + const Function &F = MF->getFunction(); + F.getContext().diagnose(DiagnosticInfoUnsupported{ + F, "Invalid usage of the XADD return value", DL}); } } } |
