[PATCH]: Remove DW_TAG_arg_variable and DW_TAG_auto_variable

Duncan P. N. Exon Smith dexonsmith at apple.com
Thu Jul 30 17:52:13 PDT 2015


Okay cool, I'll push it through when I get a chance (probably tomorrow).
Mainly wanted to be sure no one was attached to the old tags.

> On 2015-Jul-30, at 17:34, Eric Christopher <echristo at gmail.com> wrote:
> 
> 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





More information about the llvm-commits mailing list