i386-linux cross sh-elf breakage
Clinton Popetz
cpopetz@cygnus.com
Tue May 16 12:01:00 GMT 2000
On Mon, May 15, 2000 at 03:31:49PM -0700, Toshiyasu Morita wrote:
> version: CVS
> host: i386-linux
> target: sh-elf
>
> Compiler fails to build; here's the relevant log:
>
> ./../egcs/gcc/libgcc2.c: In function `__muldi3':
> ./../egcs/gcc/libgcc2.c:204: Internal compiler error in
> `verify_wide_reg_1', at flow.c:2605
This is due to a piece of the condexec merge:
2000-04-26 Richard Henderson <rth@cygnus.com>
* flow.c (count_reg_sets_1): Remove.
(count_reg_sets, count_reg_references): Remove.
(recompute_reg_usage): Implement with update_life_info.
Reallocate life data.
which is assuming that there have been no global lifetime changes when
recompute_reg_usage is called. But optimize_mode_switching is adding a (use)
in the exit block.
Richard, should recompute_reg_usage use UPDATE_LIFE_GLOBAL, or should we
call update_life_info after optimize_mode_switching?
FWIW, currently sh is the only port this effects, and it always clears
flag_schedule_insns.
-Clint
More information about the Gcc-bugs
mailing list