public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
* [pph] Save/restore PARM_DECL DECL_ARG_TYPE (issue4441079)
@ 2011-04-29  3:19 Lawrence Crowl
  2011-04-29  8:57 ` Richard Guenther
  0 siblings, 1 reply; 4+ messages in thread
From: Lawrence Crowl @ 2011-04-29  3:19 UTC (permalink / raw)
  To: reply, dnovillo, gcc-patches

This patch saves and restores the PARM_DECL DECL_ARG_TYPE in the PPH file.

Index: gcc/cp/ChangeLog.pph

2011-04-28  Lawrence Crowl <crowl@google.com>

        * pph-streamer-out.c (pph_stream_write_tree): Write PARM_DECL
        DECL_ARG_TYPE.
        * pph-streamer-in.c (pph_stream_read_tree): Read PARM_DECL
        DECL_ARG_TYPE.


Index: gcc/cp/pph-streamer-in.c
===================================================================
--- gcc/cp/pph-streamer-in.c	(revision 173124)
+++ gcc/cp/pph-streamer-in.c	(working copy)
@@ -791,6 +791,8 @@ pph_stream_read_tree (struct lto_input_b
 	  pph_stream_read_lang_specific (stream, expr);
 	  if (TREE_CODE (expr) == FUNCTION_DECL)
 	    DECL_SAVED_TREE (expr) = pph_input_tree (stream);
+	  else if (TREE_CODE (expr) == PARM_DECL)
+	    DECL_ARG_TYPE (expr) = pph_input_tree (stream);
 	}
 
       if (TREE_CODE (expr) == TYPE_DECL)
Index: gcc/cp/pph-streamer-out.c
===================================================================
--- gcc/cp/pph-streamer-out.c	(revision 173124)
+++ gcc/cp/pph-streamer-out.c	(working copy)
@@ -796,6 +796,8 @@ pph_stream_write_tree (struct output_blo
 
 	  if (TREE_CODE (expr) == FUNCTION_DECL)
 	    pph_output_tree_or_ref_1 (stream, DECL_SAVED_TREE (expr), ref_p, 3);
+	  else if (TREE_CODE (expr) == PARM_DECL)
+	    pph_output_tree_or_ref_1 (stream, DECL_ARG_TYPE (expr), ref_p, 3);
 	}
 
       if (TREE_CODE (expr) == TYPE_DECL)

--
This patch is available for review at http://codereview.appspot.com/4441079

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [pph] Save/restore PARM_DECL DECL_ARG_TYPE (issue4441079)
  2011-04-29  3:19 [pph] Save/restore PARM_DECL DECL_ARG_TYPE (issue4441079) Lawrence Crowl
@ 2011-04-29  8:57 ` Richard Guenther
  2011-04-29 13:30   ` Diego Novillo
  0 siblings, 1 reply; 4+ messages in thread
From: Richard Guenther @ 2011-04-29  8:57 UTC (permalink / raw)
  To: Lawrence Crowl; +Cc: reply, dnovillo, gcc-patches

On Fri, Apr 29, 2011 at 3:10 AM, Lawrence Crowl <crowl@google.com> wrote:
> This patch saves and restores the PARM_DECL DECL_ARG_TYPE in the PPH file.

Should be already streamed via lto_output_ts_decl_common_tree_pointers
as it is aliased to DECL_INITIAL.

Richard.

> Index: gcc/cp/ChangeLog.pph
>
> 2011-04-28  Lawrence Crowl <crowl@google.com>
>
>        * pph-streamer-out.c (pph_stream_write_tree): Write PARM_DECL
>        DECL_ARG_TYPE.
>        * pph-streamer-in.c (pph_stream_read_tree): Read PARM_DECL
>        DECL_ARG_TYPE.
>
>
> Index: gcc/cp/pph-streamer-in.c
> ===================================================================
> --- gcc/cp/pph-streamer-in.c    (revision 173124)
> +++ gcc/cp/pph-streamer-in.c    (working copy)
> @@ -791,6 +791,8 @@ pph_stream_read_tree (struct lto_input_b
>          pph_stream_read_lang_specific (stream, expr);
>          if (TREE_CODE (expr) == FUNCTION_DECL)
>            DECL_SAVED_TREE (expr) = pph_input_tree (stream);
> +         else if (TREE_CODE (expr) == PARM_DECL)
> +           DECL_ARG_TYPE (expr) = pph_input_tree (stream);
>        }
>
>       if (TREE_CODE (expr) == TYPE_DECL)
> Index: gcc/cp/pph-streamer-out.c
> ===================================================================
> --- gcc/cp/pph-streamer-out.c   (revision 173124)
> +++ gcc/cp/pph-streamer-out.c   (working copy)
> @@ -796,6 +796,8 @@ pph_stream_write_tree (struct output_blo
>
>          if (TREE_CODE (expr) == FUNCTION_DECL)
>            pph_output_tree_or_ref_1 (stream, DECL_SAVED_TREE (expr), ref_p, 3);
> +         else if (TREE_CODE (expr) == PARM_DECL)
> +           pph_output_tree_or_ref_1 (stream, DECL_ARG_TYPE (expr), ref_p, 3);
>        }
>
>       if (TREE_CODE (expr) == TYPE_DECL)
>
> --
> This patch is available for review at http://codereview.appspot.com/4441079
>

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [pph] Save/restore PARM_DECL DECL_ARG_TYPE (issue4441079)
  2011-04-29  8:57 ` Richard Guenther
@ 2011-04-29 13:30   ` Diego Novillo
  2011-04-29 22:23     ` Lawrence Crowl
  0 siblings, 1 reply; 4+ messages in thread
From: Diego Novillo @ 2011-04-29 13:30 UTC (permalink / raw)
  To: Richard Guenther; +Cc: Lawrence Crowl, reply, gcc-patches

On Fri, Apr 29, 2011 at 04:29, Richard Guenther
<richard.guenther@gmail.com> wrote:
> On Fri, Apr 29, 2011 at 3:10 AM, Lawrence Crowl <crowl@google.com> wrote:
>> This patch saves and restores the PARM_DECL DECL_ARG_TYPE in the PPH file.
>
> Should be already streamed via lto_output_ts_decl_common_tree_pointers
> as it is aliased to DECL_INITIAL.

No, I moved the streaming of DECL_INITIAL to a streamer hook because
in the gimple case we do more than streaming the initial value.  We
get the varpool node for the symbol and only stream the initial value
if we can find it.

Lawrence, I think we should just simply stream DECL_INITIAL in the
DECL_P case.  We are missing initializer expressions in every
variable, otherwise.


Diego.

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [pph] Save/restore PARM_DECL DECL_ARG_TYPE (issue4441079)
  2011-04-29 13:30   ` Diego Novillo
@ 2011-04-29 22:23     ` Lawrence Crowl
  0 siblings, 0 replies; 4+ messages in thread
From: Lawrence Crowl @ 2011-04-29 22:23 UTC (permalink / raw)
  To: Diego Novillo; +Cc: Richard Guenther, reply, gcc-patches

On 4/29/11, Diego Novillo <dnovillo@google.com> wrote:
> On Apr 29, 2011 Richard Guenther <richard.guenther@gmail.com> wrote:
> > On Apr 29, 2011 Lawrence Crowl <crowl@google.com> wrote:
> > > This patch saves and restores the PARM_DECL DECL_ARG_TYPE in the
> > > PPH file.
> >
> > Should be already streamed via lto_output_ts_decl_common_tree_pointers
> > as it is aliased to DECL_INITIAL.
>
> No, I moved the streaming of DECL_INITIAL to a streamer hook because
> in the gimple case we do more than streaming the initial value.  We
> get the varpool node for the symbol and only stream the initial value
> if we can find it.
>
> Lawrence, I think we should just simply stream DECL_INITIAL in the
> DECL_P case.  We are missing initializer expressions in every
> variable, otherwise.

Done.  It seems to have fixed one more unexpected failure.

-- 
Lawrence Crowl

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2011-04-29 21:34 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-04-29  3:19 [pph] Save/restore PARM_DECL DECL_ARG_TYPE (issue4441079) Lawrence Crowl
2011-04-29  8:57 ` Richard Guenther
2011-04-29 13:30   ` Diego Novillo
2011-04-29 22:23     ` Lawrence Crowl

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).