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: Unbreak bootstrap


> Jan Hubicka <jh@suse.cz> writes:
> 
> > > On 9/4/07, Jan Hubicka <jh@suse.cz> wrote:
> > > > Hi,
> > > > Richard's patch to remove volatile flag from loads broke tailcall code
> > > > to update SSA form.  The following patch bootstrapped for me on
> > > > x86_64-linux and I went ahead and comitted it as it is pretty obvious to
> > > > unbreak testing...
> > > 
> > > Actually this patch does not make sense as what is failing is using
> > > stage2's compiler so we must be miscompiling stage2 already.
> > > Compiling stage2 is ok.  I might be better if we revert Richard's
> > > patch until he figures out what is going wrong.
> > 
> > Actually I think I know what is going wrong - the tailcall is checking
> > for zero virtual operands to verify that it is safe to do the
> > conversion.  Without alias info represented the statements might
> > actually read from memory that is affected by the conversion.
> > 
> > I agree that reverting both patches is way to go for now.
> 
> I'll approve reverting both patches until Richard can figure out what
> went wrong.
> 
> Your original message didn't say where bootstrap failed--Richard will
> presumably need that to recreate the problem.

On most targets the failure point is:

/abuild/gcc-test/gcc/objdir/./prev-gcc/xgcc -B/abuild/gcc-test/gcc/objdir/./prev-gcc/ -B/usr/local/i686-pc-linux-gnu/bin/ -c   -g -O2 -fomit-frame-pointer  
+-DIN_GCC   -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -Wmissing-format-attribute -pedantic -Wno-long-long    
+-Wno-variadic-macros                                -Wno-overlength-strings -Werror -fno-common   -DHAVE_CONFIG_H -I. -I. -I/abuild/gcc-test/gcc/gcc       
+-I/abuild/gcc-test/gcc/gcc/. -I/abuild/gcc-test/gcc/gcc/../include -I/abuild/gcc-test/gcc/gcc/../libcpp/include  -I/abuild/gcc-test/gcc/gcc/../libdecnumber
+-I/abuild/gcc-test/gcc/gcc/../libdecnumber/bid -I../libdecnumber    /abuild/gcc-test/gcc/gcc/tree-ssa-threadedge.c -o tree-ssa-threadedge.o                
/abuild/gcc-test/gcc/gcc/tree-ssa-structalias.c: In function 'get_constraint_exp_from_ssa_var':                                                             
/abuild/gcc-test/gcc/gcc/tree-ssa-structalias.c:5627: internal compiler error: tree check: expected ssa_name, have result_decl in eliminate_tail_call, at   
+tree-tailcall.c:803            

At stage3, so as correclty pointed out by Andrew, tree-tailcall is not
the problematic point at least in obvious way, I am still trying to look
into the testsuite failures on non-bootstrapped compilers.

I will do quick testing that bootstrap gets past this point with both
patches reverted and revert them for now.

Honza
> 
> Thanks.
> 
> Ian


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