This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
PATCH: Re: ICE in single_set_1, at rtlanal.c:881
- To: dave at hiauly1 dot hia dot nrc dot ca (John David Anglin)
- Subject: PATCH: Re: ICE in single_set_1, at rtlanal.c:881
- From: "John David Anglin" <dave at hiauly1 dot hia dot nrc dot ca>
- Date: Mon, 2 Oct 2000 15:36:56 -0400 (EDT)
- Cc: gcc-bugs at gcc dot gnu dot org, gcc-patches at gcc dot gnu dot org
>
> > ./xgcc -B./ -B/usr/local/hppa1.1-hp-hpux10.20/bin/ -isystem /usr/local/hppa1.1-hp-hpux10.20/include -O2 -DIN_GCC -g -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wno-long-long -isystem ./include -fPIC -g1 -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -I. -I../../gcc -I../../gcc/config -I../../gcc/../include -DUSE_COLLECT2 -DL_divdi3 -c ../../gcc/libgcc2.c -o libgcc/./_divdi3.o
> > ../../gcc/libgcc2.c: In function `__divdi3':
> > ../../gcc/libgcc2.c:576: Internal compiler error in single_set_1, at rtlanal.c:881
>
> This is the insn that causes the abort:
>
> (gdb) p debug_rtx(insn)
>
> (jump_insn 980 979 981 (parallel[
> (use (reg:SI 2 %r2))
> (return)
> ] ) -1 (nil)
> (nil))
I believe that the enclosed patch fixes the problem. Checked with a full
bootstrap.
Dave
--
J. David Anglin dave.anglin@nrc.ca
National Research Council of Canada (613) 990-0752 (FAX: 952-6605)
2000-10-01 J. David Anglin <dave@hiauly1.hia.nrc.ca>
* pa.md (return_internal): Move `use' after `return'.
--- pa.md.orig Sun Oct 1 14:53:00 2000
+++ pa.md Sun Oct 1 14:54:05 2000
@@ -5561,8 +5561,8 @@
;; Use a different pattern for functions which have non-trivial
;; epilogues so as not to confuse jump and reorg.
(define_insn "return_internal"
- [(use (reg:SI 2))
- (return)]
+ [(return)
+ (use (reg:SI 2))]
""
"*
{