equivalence handling patch applied to local-alloc.c, reload1.c
Toshiyasu Morita
tm@netcom.com
Wed Nov 11 21:40:00 GMT 1998
>
> Tue Nov 10 04:12:02 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
>
> Handle equivalences that have been obscured by gcse:
>
> * reload1.c (reload): Handle equivalences set up in multiple places.
> * local-alloc.c (reg_equiv_init_insns): New variable.
> (no_equiv): New function.
> (update_equiv_regs): Handle equivalences set up in multiple places.
> Don't ignore an insn just because its destination is likely to be
> spilled.
host: i386-linux
target: sh-hms
options: -O2 -m3e -S -g
I just did a CVS checkout of gcc-current which contains this patch, and
it crashes on the file shade.c:
shade.c: In function `gl_color_shade_vertices':
shade.c:6106: fixed or forbidden register 22 (fpul) was spilled for class
FPUL_REGS.
shade.c:6106: This may be due to a compiler bug or to impossible asm
shade.c:6106: statements or clauses.
shade.c:6106: This is the instruction:
(insn 1021 1020 1022 (set (reg:SI 22 fpul)
(fix:SI (reg/v:SF 5 r5))) 203 {*fixsfsi} (insn_list 1020 (nil))
(expr_list:REG_DEAD (reg/v:SF 5 r5)
(nil)))
toplev.c:1390: Internal compiler error in function fatal_insn
I have put the file shade.c at:
ftp://shell14.ba.best.com/pub.t/tm2/shade.c
Toshi
More information about the Gcc-bugs
mailing list