[PATCH] JIT: Print debug location of inline asm and ignore DBG_VALUE instructions
Eric Christopher
echristo at gmail.com
Wed May 14 15:53:42 PDT 2014
On Wed, May 14, 2014 at 3:50 PM, Adrian Prantl <aprantl at apple.com> wrote:
>
>> 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.
>
Yep, sorry I forgot to reply to this :)
-eric
>
>> 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
>
> _______________________________________________
> 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