This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [patch 10/10] debug-early merge: compiler proper
- From: Richard Biener <richard dot guenther at gmail dot com>
- To: Aldy Hernandez <aldyh at redhat dot com>,Jason Merrill <jason at redhat dot com>
- Cc: Jan Hubicka <hubicka at ucw dot cz>,gcc-patches <gcc-patches at gcc dot gnu dot org>
- Date: Mon, 01 Jun 2015 19:00:39 +0200
- Subject: Re: [patch 10/10] debug-early merge: compiler proper
- Authentication-results: sourceware.org; auth=none
- References: <554C060F dot 6000609 at redhat dot com> <CAFiYyc16u2na9VeyMb5cVf4cH=caiBy6PRTJkX9DndzHcFxkBQ at mail dot gmail dot com> <555CAD35 dot 5040304 at redhat dot com> <5565BB13 dot 6040205 at redhat dot com> <5567643C dot 1020306 at redhat dot com> <55677C05 dot 6040302 at redhat dot com> <5568B32A dot 1010100 at redhat dot com> <78B564EA-B9C4-4351-BFD0-9C78EA4C2528 at gmail dot com> <5568BF0A dot 7070903 at redhat dot com> <556A5B43 dot 7050105 at redhat dot com> <556B7132 dot 7010504 at redhat dot com> <CAFiYyc3MJpB5vfbCzZgYmO3OwnO6Gn=wLw9MJsQYNwo_mirFtg at mail dot gmail dot com> <CAFiYyc3FKVgko0-ozdHropratHfmbAoDYqT_1TqmOCDvVDN2_g at mail dot gmail dot com> <556C7D81 dot 30504 at redhat dot com>
On June 1, 2015 5:42:57 PM GMT+02:00, Aldy Hernandez <aldyh@redhat.com> wrote:
>On 06/01/2015 04:04 AM, Richard Biener wrote:
>> On Mon, Jun 1, 2015 at 10:03 AM, Richard Biener
>> <richard.guenther@gmail.com> wrote:
>>> On Sun, May 31, 2015 at 10:38 PM, Jason Merrill <jason@redhat.com>
>wrote:
>>>> On 05/30/2015 08:52 PM, Aldy Hernandez wrote:
>>>>>
>>>>> On 05/29/2015 03:33 PM, Jason Merrill wrote:
>>>>>>
>>>>>> On 05/29/2015 03:26 PM, Richard Biener wrote:
>>>>>>>
>>>>>>> ISTR I had to mark the gimple reg used for the bound as
>>>>>>> non-DECL_IGNORED for the LTO stuff.
>>>>>>
>>>>>>
>>>>>> Let's go with that, then.
>>>>>
>>>>>
>>>>> Well, I did play around with that option originally, but
>temporaries do
>>>>> not end up in the symbol table, so we won't see them to feed them
>to
>>>>> late_global_decl.
>>>>
>>>>
>>>> The temporary has function scope, so I don't see why that would be
>an issue.
>>>
>>> Yeah, we should walk it via the function_decl hook on the containing
>function.
>>
>> Btw, the following was my gimplify.c hunk:
>>
>> diff --git a/gcc/gimplify.c b/gcc/gimplify.c
>> index d822913..10a9318 100644
>> --- a/gcc/gimplify.c
>> +++ b/gcc/gimplify.c
>> @@ -8994,6 +8994,12 @@ gimplify_one_sizepos (tree *expr_p, gimple_seq
>*stmt_p)
>> *expr_p = unshare_expr (expr);
>>
>> gimplify_expr (expr_p, stmt_p, NULL, is_gimple_val, fb_rvalue);
>> +
>> + /* The possibly generated temporary is interesting for debug
>information
>> + to complete the VLA type sizes and bounds. Clear
>DECL_IGNORED_P. */
>> + if (TREE_CODE (*expr_p) == VAR_DECL
>> + && DECL_ARTIFICIAL (*expr_p))
>> + DECL_IGNORED_P (*expr_p) = false;
>
>We still have the problem that function locals in dwarf2out are seen in
>
>decls_for_scope by iterating through BLOCK_VARS, and temporaries do not
>
>live in BLOCK_VARS.
>
>How did they get picked up and annotated in your approach?
The size type ones are in BLOCJ_VARS IIRC (or I have to check the last posted patch for other related hunks).
Richard.
>Aldy