This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
Re: RTL_FLAG_CHECK patch
- From: Janis Johnson <janis187 at us dot ibm dot com>
- To: Jason R Thorpe <thorpej at wasabisystems dot com>, janis187 at us dot ibm dot com, gcc-bugs at gcc dot gnu dot org
- Date: Fri, 10 May 2002 09:38:35 -0700
- Subject: Re: RTL_FLAG_CHECK patch
- References: <20020508163026.T3435@dr-evil.shagadelic.org>
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/thorpej/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-prototypes -isystem ./include -g -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -Dinhibit_libc -I. -I. -I../../../gcc/gcc -I../../../gcc/gcc/. -I../../../gcc/gcc/config -I../../../gcc/gcc/../include -DL_lshrdi3 -c ../../../gcc/gcc/libgcc2.c -o libgcc/./_lshrdi3.o
> ../../../gcc/gcc/libgcc2.c: In function `__lshrdi3':
> ../../../gcc/gcc/libgcc2.c:266: RTL flag check: INSN_ANNULLED_BRANCH_P used 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
David Miller has fixed use of INSN_ANNULLED_BRANCH_P and
INSN_FROM_TARGET_P. I tried building sh-elf and ran into further
failing rtlflag checks:
CONSTANT_POOL_ADDRESS_P with CONST at recog.c:1222 (from yesterday)
CONSTANT_POOL_ADDRESS_P with CONST_INT at recog.c:952
RTX_UNCHANGING_P with UNSPEC at config/sh/sh.c:3812
I didn't keep going after that. I don't know if these are valid uses
or not.
Janis