RTL_FLAG_CHECK patch
law@redhat.com
law@redhat.com
Wed May 8 19:47:00 GMT 2002
In message <20020508164154.A28238@us.ibm.com>, Janis Johnson writes:
> On Wed, May 08, 2002 at 04:30:26PM -0700, Jason R Thorpe wrote:
> > Hi Janis...
> >
> > 2002-05-08 Janis Johnson <janis187@us.ibm.com>
> >
> > * rtl.h (RTL_FLAG_CHECK*): Add an argument for the macro name,
> > and use it in all invocations of these macros. Clean up comments.
> > * rtl.c (rtl_check_failed_flag): Add an argument for the name
> > of the flag access macro whose check failed.
> > * doc/rtl.texi (Flags): Document additional flag uses.
> >
> > This patch fixes the specific problem listed in target/6603,
> > but the libgcc build for sh-elf then fails 2 functions later:
> >
> > /u1/users/thorpej/gnu-toolchain/gcc/build/sh-elf/gcc/xgcc -B/u1/users/thor
> pej/gnu-toolchain/gcc/build/sh-elf/gcc/ -B/usr/local/gnu/sh-elf/bin/ -B/usr/
> local/gnu/sh-elf/lib/ -isystem /usr/local/gnu/sh-elf/include -O2 -DIN_GCC -
> DCROSS_COMPILE -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prot
> otypes -isystem ./include -g -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -Dinhi
> bit_libc -I. -I. -I../../../gcc/gcc -I../../../gcc/gcc/. -I../../../gcc/gcc/
> config -I../../../gcc/gcc/../include -DL_lshrdi3 -c ../../../gcc/gcc/libgcc
> 2.c -o libgcc/./_lshrdi3.o
> > ../../../gcc/gcc/libgcc2.c: In function `__lshrdi3':
> > ../../../gcc/gcc/libgcc2.c:266: RTL flag check: INSN_ANNULLED_BRANCH_P use
> d with unexpected rtx code `call_insn' in dbr_schedule, at reorg.c:3631
> > Please submit a full bug report,
> > with preprocessed source if appropriate.
> > See <URL:http://www.gnu.org/software/gcc/bugs.html> for instructions.
> > gmake[2]: *** [libgcc/./_lshrdi3.o] Error 1
>
> Can one of you familiar with targets that use these macros determine
> the right list of RTL codes to use with INSN_ANNULLED_BRANCH_P and
> INSN_FROM_TARGET_P and submit the appropriate patches to rtl.h and
> doc/rtl.texi? In the meantime if you need to work around this you
> can turn off the new rtlflag checks (--enable-checking=misc,tree,gc).
An INSN, JUMP_INSN or CALL_INSN can potentially have either of those bits
set.
jeff
More information about the Gcc-bugs
mailing list