Patchwork [buildrobot] r202527: ssa / ssanames restructure broke alpha-linux

login
register
mail settings
Submitter Jan-Benedict Glaw
Date Sept. 14, 2013, 10:41 a.m.
Message ID <20130914104154.GH24834@lug-owl.de>
Download mbox | patch
Permalink /patch/274911/
State New
Headers show

Comments

Jan-Benedict Glaw - Sept. 14, 2013, 10:41 a.m.
Hi!

My Build Robot[1] found this recent commit to break Alpha:

	* tree-flow.h (FREE_SSANAMES): Move to tree-ssanames.c
	(SSANAMES, MODIFIED_NORETURN_CALLS, DEFAULT_DEFS, ptr_info_def,
	num_ssa_names, ssa_name): Move to tree-ssanames.h + prototypes.
	* tree-flow-inline.h (make_ssa_name, copy_ssa_name, duplicate_ssa_name,
	make_temp_ssa_name): move to tree-ssanames.h
	* tree-ssa-alias.h: Move prototype.
	* tree-ssa.h: Include tree-ssanames.h.
	* tree-ssanames.c (FREE_SSANAMES): Move to here.
	* tree-ssanames.h: New.  Move items from tree-flow*.h
	* Makefile.in (tree-ssanames.h): Add to tree-ssanames.o and GTFILES.

See for example this build log:
http://toolchain.lug-owl.de/buildbot/showlog.php?id=11663&mode=view

I suggest this patch, which fixes an alpha-linux build for me:

2013-09-13  Jan-Benedict Glaw  <jbglaw@lug-owl.de>

	* config/alpha.c: Include tree-ssa.h.



Ok?

MfG, JBG

[1] http://toolchain.lug-owl.de/buildbot/
    http://toolchain.lug-owl.de/buildbot/timeline.php
Richard Guenther - Sept. 16, 2013, 9:05 a.m.
On Sat, Sep 14, 2013 at 12:41 PM, Jan-Benedict Glaw <jbglaw@lug-owl.de> wrote:
> Hi!
>
> My Build Robot[1] found this recent commit to break Alpha:
>
>         * tree-flow.h (FREE_SSANAMES): Move to tree-ssanames.c
>         (SSANAMES, MODIFIED_NORETURN_CALLS, DEFAULT_DEFS, ptr_info_def,
>         num_ssa_names, ssa_name): Move to tree-ssanames.h + prototypes.
>         * tree-flow-inline.h (make_ssa_name, copy_ssa_name, duplicate_ssa_name,
>         make_temp_ssa_name): move to tree-ssanames.h
>         * tree-ssa-alias.h: Move prototype.
>         * tree-ssa.h: Include tree-ssanames.h.
>         * tree-ssanames.c (FREE_SSANAMES): Move to here.
>         * tree-ssanames.h: New.  Move items from tree-flow*.h
>         * Makefile.in (tree-ssanames.h): Add to tree-ssanames.o and GTFILES.
>
> See for example this build log:
> http://toolchain.lug-owl.de/buildbot/showlog.php?id=11663&mode=view
>
> I suggest this patch, which fixes an alpha-linux build for me:

I think you can remove the tree-flow.h include and you need to update the
dependencies in gcc/Makefile.in.

Richard.

> 2013-09-13  Jan-Benedict Glaw  <jbglaw@lug-owl.de>
>
>         * config/alpha.c: Include tree-ssa.h.
>
> diff --git a/gcc/config/alpha/alpha.c b/gcc/config/alpha/alpha.c
> index a8fb929..3759205 100644
> --- a/gcc/config/alpha/alpha.c
> +++ b/gcc/config/alpha/alpha.c
> @@ -50,6 +50,7 @@ along with GCC; see the file COPYING3.  If not see
>  #include "splay-tree.h"
>  #include "gimple.h"
>  #include "tree-flow.h"
> +#include "tree-ssa.h"
>  #include "tree-stdarg.h"
>  #include "tm-constrs.h"
>  #include "df.h"
>
>
> Ok?
>
> MfG, JBG
>
> [1] http://toolchain.lug-owl.de/buildbot/
>     http://toolchain.lug-owl.de/buildbot/timeline.php
> --
>       Jan-Benedict Glaw      jbglaw@lug-owl.de              +49-172-7608481
>  Signature of:                            If it doesn't work, force it.
>  the second  :                   If it breaks, it needed replacing anyway.
Andrew MacLeod - Sept. 16, 2013, 2:30 p.m.
On 09/14/2013 06:41 AM, Jan-Benedict Glaw wrote:
> Hi!
>
>
> I suggest this patch, which fixes an alpha-linux build for me:
>
> 2013-09-13  Jan-Benedict Glaw  <jbglaw@lug-owl.de>
>
> 	* config/alpha.c: Include tree-ssa.h.
>
> diff --git a/gcc/config/alpha/alpha.c b/gcc/config/alpha/alpha.c
> index a8fb929..3759205 100644
> --- a/gcc/config/alpha/alpha.c
> +++ b/gcc/config/alpha/alpha.c
> @@ -50,6 +50,7 @@ along with GCC; see the file COPYING3.  If not see
>   #include "splay-tree.h"
>   #include "gimple.h"
>   #include "tree-flow.h"
> +#include "tree-ssa.h"
>   #include "tree-stdarg.h"
>   #include "tm-constrs.h"
>   #include "df.h"
>
>
> Ok?
>
>
It seems a little odd that a target requires the ssa stuff, but I'm fine 
with this to fix the compile error.
Sorry about that.

Andrew
Andrew MacLeod - Sept. 16, 2013, 2:32 p.m.
On 09/16/2013 05:05 AM, Richard Biener wrote:
> On Sat, Sep 14, 2013 at 12:41 PM, Jan-Benedict Glaw <jbglaw@lug-owl.de> wrote:
>> Hi!
>>
>> My Build Robot[1] found this recent commit to break Alpha:
>>
>>          * tree-flow.h (FREE_SSANAMES): Move to tree-ssanames.c
>>          (SSANAMES, MODIFIED_NORETURN_CALLS, DEFAULT_DEFS, ptr_info_def,
>>          num_ssa_names, ssa_name): Move to tree-ssanames.h + prototypes.
>>          * tree-flow-inline.h (make_ssa_name, copy_ssa_name, duplicate_ssa_name,
>>          make_temp_ssa_name): move to tree-ssanames.h
>>          * tree-ssa-alias.h: Move prototype.
>>          * tree-ssa.h: Include tree-ssanames.h.
>>          * tree-ssanames.c (FREE_SSANAMES): Move to here.
>>          * tree-ssanames.h: New.  Move items from tree-flow*.h
>>          * Makefile.in (tree-ssanames.h): Add to tree-ssanames.o and GTFILES.
>>
>> See for example this build log:
>> http://toolchain.lug-owl.de/buildbot/showlog.php?id=11663&mode=view
>>
>> I suggest this patch, which fixes an alpha-linux build for me:
> I think you can remove the tree-flow.h include and you need to update the
> dependencies in gcc/Makefile.in.
>
> Richard.
>
of course... :-P

I see rs6000.c and i386.c  both use tree-flow.h as well.  I will have to 
see what they are actually pulling in from that file so I don't break 
those eventually too.

Andrew

Andrew
Jan-Benedict Glaw - Oct. 10, 2013, 10:44 a.m.
Hi!

On Mon, 2013-09-16 10:32:24 -0400, Andrew MacLeod <amacleod@redhat.com> wrote:
> On 09/16/2013 05:05 AM, Richard Biener wrote:
> > On Sat, Sep 14, 2013 at 12:41 PM, Jan-Benedict Glaw <jbglaw@lug-owl.de> wrote:
> > >My Build Robot[1] found this recent commit to break Alpha:
> > >
> > >         * tree-flow.h (FREE_SSANAMES): Move to tree-ssanames.c
> > >         (SSANAMES, MODIFIED_NORETURN_CALLS, DEFAULT_DEFS, ptr_info_def,
> > >         num_ssa_names, ssa_name): Move to tree-ssanames.h + prototypes.
> > >         * tree-flow-inline.h (make_ssa_name, copy_ssa_name, duplicate_ssa_name,
> > >         make_temp_ssa_name): move to tree-ssanames.h
> > >         * tree-ssa-alias.h: Move prototype.
> > >         * tree-ssa.h: Include tree-ssanames.h.
> > >         * tree-ssanames.c (FREE_SSANAMES): Move to here.
> > >         * tree-ssanames.h: New.  Move items from tree-flow*.h
> > >         * Makefile.in (tree-ssanames.h): Add to tree-ssanames.o and GTFILES.
> > >
> > >See for example this build log:
> > >http://toolchain.lug-owl.de/buildbot/showlog.php?id=11663&mode=view
> > >
> > >I suggest this patch, which fixes an alpha-linux build for me:
> > I think you can remove the tree-flow.h include and you need to update the
> > dependencies in gcc/Makefile.in.
> of course... :-P
> 
> I see rs6000.c and i386.c  both use tree-flow.h as well.  I will
> have to see what they are actually pulling in from that file so I
> don't break those eventually too.

The build robot[1] found a similar problem:

g++ -c   -g -O2 -DIN_GCC -DCROSS_DIRECTORY_STRUCTURE  -fno-exceptions -fno-rtti -fasynchronous-unwind-tables -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -Wmissing-format-attribute -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -fno-common  -DHAVE_CONFIG_H -I. -I. -I../../../../gcc/gcc -I../../../../gcc/gcc/. -I../../../../gcc/gcc/../include -I../../../../gcc/gcc/../libcpp/include  -I../../../../gcc/gcc/../libdecnumber -I../../../../gcc/gcc/../libdecnumber/dpd -I../libdecnumber -I../../../../gcc/gcc/../libbacktrace    -o alpha.o -MT alpha.o -MMD -MP -MF ./.deps/alpha.TPo ../../../../gcc/gcc/config/alpha/alpha.c
In file included from ../../../../gcc/gcc/config/alpha/alpha.c:53:0:
../../../../gcc/gcc/config/alpha/alpha.c: In function ‘bool alpha_stdarg_optimize_hook(stdarg_info*, const_gimple)’:
../../../../gcc/gcc/tree-ssanames.h:62:56: error: invalid use of incomplete type ‘struct gimple_df’
 #define num_ssa_names (vec_safe_length (cfun->gimple_df->ssa_names))
                                                        ^
../../../../gcc/gcc/config/alpha/alpha.c:5943:61: note: in expansion of macro ‘num_ssa_names’
       || !bitmap_bit_p (si->va_list_vars, DECL_UID (base) + num_ssa_names))
                                                             ^
In file included from ../../../../gcc/gcc/expr.h:24:0,
                 from ../../../../gcc/gcc/config/alpha/alpha.c:36:
../../../../gcc/gcc/function.h:164:8: error: forward declaration of ‘struct gimple_df’
 struct gimple_df;
        ^
make[2]: *** [alpha.o] Error 1



r203314 is known-good (http://toolchain.lug-owl.de/buildbot/show_build_details.php?id=16934),
r203320 is known-bad (http://toolchain.lug-owl.de/buildbot/show_build_details.php?id=16956).

So this is probably uncovered by one of the three large patches in
betwee, which all fight heder file dependencies :)

MfG, JBG

[1] http://toolchain.lug-owl.de/buildbot/
    http://toolchain.lug-owl.de/buildbot/timeline.php

Patch

diff --git a/gcc/config/alpha/alpha.c b/gcc/config/alpha/alpha.c
index a8fb929..3759205 100644
--- a/gcc/config/alpha/alpha.c
+++ b/gcc/config/alpha/alpha.c
@@ -50,6 +50,7 @@  along with GCC; see the file COPYING3.  If not see
 #include "splay-tree.h"
 #include "gimple.h"
 #include "tree-flow.h"
+#include "tree-ssa.h"
 #include "tree-stdarg.h"
 #include "tm-constrs.h"
 #include "df.h"