[PATCH]: Remove DW_TAG_arg_variable and DW_TAG_auto_variable

Eric Christopher echristo at gmail.com
Thu Jul 30 17:34:48 PDT 2015


Without looking, if you think you can do it go ahead. If you want actual
review I can do that too :)

-eric

On Thu, Jul 30, 2015 at 5:33 PM Duncan P. N. Exon Smith <
dexonsmith at apple.com> wrote:

> These patches remove the two remaining fake DWARF tags, which we use to
> differentiate between types of variables.  However, they're not
> necessary.  The `arg:` field fully encodes whether a local variable is a
> parameter.
>
> The other obvious option (and my original plan here) was to create two
> subclasses `DIAutoVariable` and `DIParameterVariable`.  These classes
> would be so similar that I'm not sure that's worthwhile until we're
> tablegen'ing these.
>
> Here's what's in the patches:
>
>   - 0001: Update the DIBuilder API to use `createAutoVariable()` and
>     `createParameterVariable()` (instead of `createLocalVariable()`).
>   - 0002: clang side of 0001.
>   - 0003: Strip the fake tags from the IR.
>   - 0004: LLVM testcases for 0003 updated via script (I'll squash this).
>   - 0005: Clang testcases for 0003.
>
> (Note: a follow-up could change `DILocalVariable::DILocalVariable()` to
> set the tag to `DW_TAG_formal_parameter` instead of `DW_TAG_variable`
> (as appropriate), instead of having that logic magically in the backend
> in `DbgVariable`.  I left a FIXME to that effect.)
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20150731/fd1e44d9/attachment.html>


More information about the llvm-commits mailing list