[tree-ssa] Mainline merge as of 2003-10-17

Jan Hubicka hubicka@ucw.cz
Fri Oct 24 16:19:00 GMT 2003


> On Fri, 2003-10-24 at 09:17, Jan Hubicka wrote:
> 
> > > New bug has crept in:
> > > _CONFIG_H    -I. -I. -I../../gcc -I../../gcc/. -I../../gcc/../include
> > > -I../../gcc/../libbanshee/libcompat -I../../gcc/../libbanshee
> > > -I../../gcc/../libbanshee/points-to  ../../gcc/cpphash.c -o cpphash.o
> > > ../../gcc/cppfiles.c: In function `_cpp_stack_file':
> > > 
> > > ../../gcc/cppfiles.c:533: internal compiler error: in gimplify_expr, at
> > > gimplify.c:2932
> > > 
> > > Any idea what can cause it?  I will try to look into it tonight :(
> > 
> > It is initialize_inlined_parameters calling gimplifier on a set
> > containing variable not seen in bind_expr.  It is not seen in bind_expr
> > because the function in question construct it.  It seems to me that
> > proper fix is to simply mark it as gimplified.
> > 
> > I am still bootstrapping, but it fixes the crash. 
> > OK (assuming it passes)?
> >
> 
> > Honza
> > 
> > 2003-10-24  Jan Hubicka  <jh@suse.cz>
> > 	* tree-inline.c (initialize_inlined_parameters): Mark inlined parameters as gimplified.
> >
> > Index: tree-inline.c
> > ===================================================================
> > RCS file: /cvs/gcc/gcc/gcc/tree-inline.c,v
> > retrieving revision 1.26.2.52
> > diff -c -3 -p -r1.26.2.52 tree-inline.c
> > *** tree-inline.c	24 Oct 2003 07:41:31 -0000	1.26.2.52
> > --- tree-inline.c	24 Oct 2003 13:15:29 -0000
> > *************** initialize_inlined_parameters (inline_da
> > *** 723,728 ****
> > --- 723,730 ----
> >         /* Declare this new variable.  */
> >         TREE_CHAIN (var) = vars;
> >         vars = var;
> > +       /* Make gimplifier happy about this variable.  */
> > +       var->decl.seen_in_bind_expr = 1;
> >   
> >         /* Even if P was TREE_READONLY, the new VAR should not be.
> >   	 In the original code, we would have constructed a
> >
> It looks OK to me, but I'd like jason to double check.

All other places producing gimple variables has same code in it and
gimplify_bind_expr has no other effect than setting the flag and
producing BIND_EXPR, so it really looks correct to me.

Can I take your OK as approval?  We can still make different fix if
Jason believes this is not right thing to do.

With unit-at-a-time enabled we will get inlining of pretty complex
beasts tested during regular bootstrap as we do inline functions called
once so I hope it will make it easier to keep inlining in working shape.

Thank you,
Honza
> 
> 
> Diego.



More information about the Gcc mailing list