i386-linux cross sh-elf breakage
Clinton Popetz
cpopetz@cygnus.com
Tue May 16 19:25:00 GMT 2000
On Tue, May 16, 2000 at 05:58:51PM -0700, Richard Henderson wrote:
> On Tue, May 16, 2000 at 02:01:46PM -0500, Clinton Popetz wrote:
> > But optimize_mode_switching is adding a (use) in the exit block.
>
> What sort of use? A naked (insn x x x (use foo)) or something
> buried in another pattern. The former would strike me as wrong.
Yes, it's a naked use:
(insn 19 17 18 (use (reg/v:PSI 48 fpscr)) -1 (nil)
(nil))
It's emitted directly by the sh backend:
#define MODE_USES_IN_EXIT_BLOCK gen_rtx_USE (VOIDmode, get_fpscr_rtx ())
This is used by the other sh mode_switching code, to handle the special case of
needing to switch the FP mode back to the default mode for a target ABI. The
use has no other purpose that I can determine, and could in fact probably be
removed by optimize_mode_switching after the other insns have been emitted.
The whole of optimize_mode_switching is currently a thinly-veiled cover for sh
fp mode switching code, so until something else uses it, it's very hard to tell
how it should change.
> > Richard, should recompute_reg_usage use UPDATE_LIFE_GLOBAL, or should we
> > call update_life_info after optimize_mode_switching?
>
> That said, optimize_mode_switching may very well need to redo global life
> info anyway. We may want to tweek when no_new_pseudos gets set in that case
> too, so that we don't overwork wrt recompute_reg_usage.
Ok. I'll send a patch along to do this.
-Clint
More information about the Gcc-bugs
mailing list