[llvm-dev] Editing metadata

deadal nix via llvm-dev llvm-dev at lists.llvm.org
Mon Oct 5 13:03:57 PDT 2015


Ok, so my best shot at this would be to just throw away existing debug
infos and regenerating new ones, if I understand you.

That would work, I was hoping for something better, but it will do. Thank
you.

2015-10-05 10:20 GMT-07:00 Eric Christopher <echristo at gmail.com>:

> This is about the best idea. There's no way to take the non-temporary md
> nodes back to temporary.
>
> -eric
>
> On Mon, Oct 5, 2015 at 10:12 AM Robinson, Paul via llvm-dev <
> llvm-dev at lists.llvm.org> wrote:
>
>> Abstractly, (I don't get inside this code as much as I should) debug info
>> works on a translation-unit basis, not a function basis, so regenerating a
>> single function's debug info is not a natural or well-isolated operation.
>>
>> You might have to emit each function as its own LLVM module and re-JIT
>> the module?
>>
>> People more deeply familiar with how the metadata stuff works might be
>> able to offer better suggestions.
>>
>> --paulr
>>
>>
>>
>> *From:* llvm-dev [mailto:llvm-dev-bounces at lists.llvm.org] *On Behalf Of *deadal
>> nix via llvm-dev
>> *Sent:* Friday, October 02, 2015 11:38 PM
>> *To:* llvm-dev
>> *Subject:* [llvm-dev] Editing metadata
>>
>>
>>
>> Hi all,
>>
>> I'm using the JIT capabilities of LLVM. But so far, I've been unable to
>> use the debug capabilities of LLVM in conjunction with the JIT. The
>> problematic scenario goes as follow :
>>
>>  - Emit some IR with debug infos.
>>
>>  - Install hooks to get back into some codepath that I do not wish to
>> codegen at this stage.
>>
>>  - JIT the method. This require to finalize the DIBuilder to complete the
>> emission of debug metadata.
>>
>>  - Later on, emit IR for some of the missing branches. Here the problem
>> surface :
>>
>>     - Without debug infos, the codegen for this specific method can be
>> invalidated and redone, all is fine.
>>
>>     - With debug infos, the metadata have been finalized already, and it
>> doesn't seems that it is possible to revert this
>>
>> Is there a way to make that work ? If not, is there a patch I can work on
>> to make that work ?
>>
>> Thank in advance,
>> _______________________________________________
>> LLVM Developers mailing list
>> llvm-dev at lists.llvm.org
>> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20151005/5fdd413b/attachment.html>


More information about the llvm-dev mailing list