[PATCH] Add a DIModule debug info metadata node to the IR.

David Blaikie dblaikie at gmail.com
Thu Jun 25 17:03:15 PDT 2015


On Thu, Jun 25, 2015 at 4:44 PM, Adrian Prantl <aprantl at apple.com> wrote:

> These four properties are certainly very specific to clang modules.
>

More than that, though - I was trying to wonder how definitive they are -
how likely to add/remove things in this set of things, etc.


> Since they need to get translated into custom DW_AT_LLVM_key("value") by
> the backend,


Well, I was wondering if the DWARF encoding could be similarly opaque.


> we could implement a generic mechanism like:
>
>   // assuming that DW_AT_LLVM_config_macros = DW_AT_lo_user = 0x2500
>   !2 = !DIModule(scope: !0, name: "Module", stringAttrs: !{ i32 9472,
> !"-DNDEBUG", ...})
>
> ... which the backend then interprets as a list of DW_FORM_strp attributes.
> But since we don't have named constants in the IR to make this more
> readable, I'm not convinced that this is preferable at the moment.
>

Anyway, I suppose the metadata schema is extensible enough these days - the
churn just seems painful when adding/removing fields, etc.

Carry on/looks good/please commit/etc.


>
>
> REPOSITORY
>   rL LLVM
>
> http://reviews.llvm.org/D9614
>
> EMAIL PREFERENCES
>   http://reviews.llvm.org/settings/panel/emailpreferences/
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20150625/d1c6a98f/attachment.html>


More information about the llvm-commits mailing list