[PATCH] JIT: Print debug location of inline asm and ignore DBG_VALUE instructions

Yaron Keren yaron.keren at gmail.com
Thu May 15 01:02:42 PDT 2014


Meanwhile, DebugLoc gained a new print() method in r208177, so we can reuse it.

http://reviews.llvm.org/D3416

Files:
  lib/Target/X86/X86CodeEmitter.cpp

Index: lib/Target/X86/X86CodeEmitter.cpp
===================================================================
--- lib/Target/X86/X86CodeEmitter.cpp
+++ lib/Target/X86/X86CodeEmitter.cpp
@@ -1113,9 +1113,14 @@
     case TargetOpcode::INLINEASM:
       // We allow inline assembler nodes with empty bodies - they can
       // implicitly define registers, which is ok for JIT.
-      if (MI.getOperand(0).getSymbolName()[0])
+      if (MI.getOperand(0).getSymbolName()[0]) {
+        DebugLoc DL = MI.getDebugLoc();
+        DL.print(MI.getParent()->getParent()->getFunction()->getContext(),
+                 llvm::errs());
         report_fatal_error("JIT does not support inline asm!");
+      }
       break;
+    case TargetOpcode::DBG_VALUE:
     case TargetOpcode::CFI_INSTRUCTION:
       break;
     case TargetOpcode::GC_LABEL:
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D3416.9410.patch
Type: text/x-patch
Size: 834 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20140515/88b067e9/attachment.bin>


More information about the llvm-commits mailing list