[VTA, PR41473] drop NULL locations from lists
Jakub Jelinek
jakub@redhat.com
Mon Nov 23 20:52:00 GMT 2009
On Mon, Nov 23, 2009 at 06:11:57PM -0200, Alexandre Oliva wrote:
> Entries in location lists whose RTL is NULL or not representable end up
> causing us to waste debug info space emitting empty DW_AT_location.
>
> This patch optimizes the debug information, omitting the useless
> DW_AT_location. This should work around the bug in Darwin's dsymutil.
>
> While at that, I arranged for entries in location lists that are not
> representable in debug info to not waste an entry in the output location
> list.
>
> The patch also fixes the handling of CONST_DOUBLEs and CONST_VECTORs
> within CONCAT and CONCATN, that was currently disabled because mode was
> specified as VOIDmode by the handlers of these RTL forms. Even with
> -gdwarf-4, we'd still have failed to emit them.
>
> Ok to install if this passes regstrap?
>
Are you sure the dropping of single_element_loc_list call in the
loc->first && loc->last == loc->first case is a good idea?
I believe that will force using location lists even when block form could be
used for DW_AT_location. If loc->first->descr is NULL, the function should
just return NULL, otherwise it should create the special single element list
so that add_AT_location_description does the right thing.
Jakub
More information about the Gcc-patches
mailing list