[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