[new-regalloc-branch] RTL check failure on x86

Daniel Berlin dan@cgsoftware.com
Thu Aug 2 19:42:00 GMT 2001


Dan Nicolaescu <dann@ics.uci.edu> writes:

> Daniel Berlin <dan@cgsoftware.com> writes:
> 
>  > This is because we don't have a way to specify that it can also be a
>  > USE, since we have no checking macros for RTL that allow three
>  > alternatives.
>  > The code is indeed doing the right thing, clobbers and uses have the
>  >  same format, it's just the checking that's wrong.
>  > 
>  > This patch should fix it.
> 
> It fixes that, but it has another problem:
> 
> ./xgcc -B./ -B/home/dann/GCC-newRA/i686-pc-linux-gnu/bin/ -isystem /home/dann/GCC-newRA/i686-pc-linux-gnu/include -O2    -DIN_GCC    -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -isystem ./include  -fPIC -g1  -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED  -I. -I. -I../../gcc-CVS/gcc -I../../gcc-CVS/gcc/. -I../../gcc-CVS/gcc/config -I../../gcc-CVS/gcc/../include  -DL_addvdi3 -c ../../gcc-CVS/gcc/libgcc2.c -o libgcc/./_addvdi3.o
> cc1: warning: changing search order for system directory "include"
> cc1: warning:   as it has already been specified as a system directory
> ../../gcc-CVS/gcc/libgcc2.c: In function `__addvdi3':
> ../../gcc-CVS/gcc/libgcc2.c:94: Didn't find a coloring.
> 
> 
> preprocessed source is at:
> http://www.ics.uci.edu/~dann/addvdi3.i.gz
> 
I'll look into it.
It's not surprising we can't find a coloring in 40 passes on x86. X86
gives us like  6 registers to try to allocate to.
On large numbers of registers, it's going to take damn near forever.

>         --dan

-- 
"What's another word for Thesaurus?
"-Steven Wright



More information about the Gcc-bugs mailing list