This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [patch 10/10] debug-early merge: compiler proper


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;
 }

 /* Gimplify the body of statements of FNDECL and return a GIMPLE_BIND node


> Richard.
>
>> Jason
>>


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]