[PATCH] JIT: Print debug location of inline asm and ignore DBG_VALUE instructions
Adrian Prantl
aprantl at apple.com
Wed May 14 15:50:33 PDT 2014
> On May 1, 2014, at 1:40 PM, Yaron Keren <yaron.keren at gmail.com> wrote:
>
> Printing the instruction is not needed as you'd usually want just the debug location to workaround.
>
> Using dump() does the patch trivial not using printDebugLoc().
>
> TargetOpcode has DBG_VALUE but not DBG_DECLARE ? how to add this?
>
There is no such thing as a DBG_DECLARE in the MI layer. Most dbg.declare intrinsics are lowered to dbg.values in Local.cpp. In the MI layer they turn into DBG_VALUES and what (allocas described by) dbg.declares remain are stored in the MMI side-table.
> 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,12 @@
> 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]) {
> + MI.dump();
> report_fatal_error("JIT does not support inline asm!");
> + }
> break;
> + case TargetOpcode::DBG_VALUE:
> case TargetOpcode::CFI_INSTRUCTION:
> break;
> case TargetOpcode::GC_LABEL:
> <D3416.9021.patch>_______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
More information about the llvm-commits
mailing list