[llvm] 20e9fc5 - [MCDwarf] Delete unneeded DW_AT_prototyped for DW_TAG_label

Fāng-ruì Sòng via llvm-commits llvm-commits at lists.llvm.org
Tue May 26 14:52:44 PDT 2020


DWARF v5 Appendix A. Attributes by Tag (Informative) does not say
DW_AT_prototyped is applicable for DW_TAG_label.
I have checked that neither gdb nor lldb reads DW_AT_prototyped.
So I deleted DW_AT_prototyped.

(I have also checked GNU as' behavior: it generates a single
DW_TAG_compile_unit, There is no DW_TAG_label. However, I guess there might
be some low value having DW_TAG_label.)

On Tue, May 26, 2020 at 2:28 PM Adrian Prantl <aprantl at apple.com> wrote:

> I think I replied a little too early. This *is* MCDwarf.cpp so my comment
> doesn't really add any new information.
> To actually contribute something useful, it looks like your hunch was
> correct:
>
> commit f7d77069ca47cab8f629e1cbe71265f035281329
> Author: Kevin Enderby <enderby at apple.com>
> Date:   Tue Jan 10 21:12:34 2012 +0000
>
>     This is the matching change for the data structure name changes for the
>     functional change in r147860 to use DW_TAG_label's instead
> TAG_subprogram's.
>     This only changes names and updates comments.  No functional change.
>
>
>     llvm-svn: 147877
>
>
>
> On May 26, 2020, at 2:09 PM, David Blaikie <dblaikie at gmail.com> wrote:
>
>
>
> On Tue, May 26, 2020 at 2:02 PM Adrian Prantl <aprantl at apple.com> wrote:
>
>> Prior to the patch that added DW_TAG_label for C labels inside of
>> functions, I have only seen DW_TAG_label inside object files compiled from
>> assembler. I guess there that makes the same amount of sense (though I
>> probably would have left it unspecified).
>>
>
> Not sure I follow your comment, sorry - could you rephrase/describe your
> perspective in more detail?
>
>
>>
>> -- adrian
>>
>> On May 26, 2020, at 1:57 PM, David Blaikie <dblaikie at gmail.com> wrote:
>>
>> Any sense of the history of this? I'm guessing at some point these were
>> emitted as subprograms rather than labels, and as subprograms it made sense
>> to include teh prototyped=false attribute?
>>
>> On Mon, May 25, 2020 at 3:00 PM Fangrui Song via llvm-commits <
>> llvm-commits at lists.llvm.org> wrote:
>>
>>>
>>> Author: Fangrui Song
>>> Date: 2020-05-24T22:24:24-07:00
>>> New Revision: 20e9fc55feb58dd1f766a494c530684011291ff3
>>>
>>> URL:
>>> https://github.com/llvm/llvm-project/commit/20e9fc55feb58dd1f766a494c530684011291ff3
>>> DIFF:
>>> https://github.com/llvm/llvm-project/commit/20e9fc55feb58dd1f766a494c530684011291ff3.diff
>>>
>>> LOG: [MCDwarf] Delete unneeded DW_AT_prototyped for DW_TAG_label
>>>
>>> Added:
>>>
>>>
>>> Modified:
>>>     llvm/lib/MC/MCDwarf.cpp
>>>     llvm/test/MC/MachO/gen-dwarf.s
>>>
>>> Removed:
>>>
>>>
>>>
>>>
>>> ################################################################################
>>> diff  --git a/llvm/lib/MC/MCDwarf.cpp b/llvm/lib/MC/MCDwarf.cpp
>>> index 0b7fc4554018..71b8f0e28e1c 100644
>>> --- a/llvm/lib/MC/MCDwarf.cpp
>>> +++ b/llvm/lib/MC/MCDwarf.cpp
>>> @@ -846,7 +846,6 @@ static void EmitGenDwarfAbbrev(MCStreamer *MCOS) {
>>>    EmitAbbrev(MCOS, dwarf::DW_AT_decl_file, dwarf::DW_FORM_data4);
>>>    EmitAbbrev(MCOS, dwarf::DW_AT_decl_line, dwarf::DW_FORM_data4);
>>>    EmitAbbrev(MCOS, dwarf::DW_AT_low_pc, dwarf::DW_FORM_addr);
>>> -  EmitAbbrev(MCOS, dwarf::DW_AT_prototyped, dwarf::DW_FORM_flag);
>>>    EmitAbbrev(MCOS, 0, 0);
>>>
>>>    // DW_TAG_unspecified_parameters DIE abbrev (3).
>>> @@ -1087,9 +1086,6 @@ static void EmitGenDwarfInfo(MCStreamer *MCOS,
>>>                                               MCSymbolRefExpr::VK_None,
>>> context);
>>>      MCOS->emitValue(AT_low_pc, AddrSize);
>>>
>>> -    // DW_AT_prototyped, a one byte flag value of 0 saying we have no
>>> prototype.
>>> -    MCOS->emitInt8(0);
>>> -
>>>      // The DW_TAG_unspecified_parameters DIE abbrev (3).
>>>      MCOS->emitULEB128IntValue(3);
>>>
>>>
>>> diff  --git a/llvm/test/MC/MachO/gen-dwarf.s
>>> b/llvm/test/MC/MachO/gen-dwarf.s
>>> index 6d39d278e818..58f8a7ccf899 100644
>>> --- a/llvm/test/MC/MachO/gen-dwarf.s
>>> +++ b/llvm/test/MC/MachO/gen-dwarf.s
>>> @@ -30,7 +30,6 @@ _x:   .long 1
>>>  // CHECK:      DW_AT_decl_file DW_FORM_data4
>>>  // CHECK:      DW_AT_decl_line DW_FORM_data4
>>>  // CHECK:      DW_AT_low_pc    DW_FORM_addr
>>> -// CHECK:      DW_AT_prototyped        DW_FORM_flag
>>>
>>>  // CHECK: [3] DW_TAG_unspecified_parameters    DW_CHILDREN_no
>>>
>>> @@ -53,7 +52,6 @@ _x:   .long 1
>>>  // CHECK:      DW_AT_decl_file ([[FILE:".*gen-dwarf.s"]])
>>>  // CHECK:      DW_AT_decl_line (5)
>>>  // CHECK:      DW_AT_low_pc (0x0000000000000000)
>>> -// CHECK:      DW_AT_prototyped (0x00)
>>>
>>>  // CHECK:      DW_TAG_unspecified_parameters
>>>
>>> @@ -64,7 +62,6 @@ _x:   .long 1
>>>  // CHECK:      DW_AT_decl_file ([[FILE]])
>>>  // CHECK:      DW_AT_decl_line (9)
>>>  // CHECK:      DW_AT_low_pc (0x0000000000000007)
>>> -// CHECK:      DW_AT_prototyped (0x00)
>>>
>>>  // CHECK:      DW_TAG_unspecified_parameters
>>>
>>> @@ -75,7 +72,6 @@ _x:   .long 1
>>>  // CHECK:      DW_AT_decl_file ([[FILE]])
>>>  // CHECK:      DW_AT_decl_line (10)
>>>  // CHECK:      DW_AT_low_pc (0x0000000000000007)
>>> -// CHECK:      DW_AT_prototyped (0x00)
>>>
>>>  // CHECK:      DW_TAG_unspecified_parameters
>>>
>>>
>>>
>>>
>>> _______________________________________________
>>> llvm-commits mailing list
>>> llvm-commits at lists.llvm.org
>>> https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits
>>>
>>
>>
>

-- 
宋方睿
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200526/88884dbc/attachment.html>


More information about the llvm-commits mailing list