Fix sh problems at -O0
From-SVN: r37582
This commit is contained in:
parent
badc2279d9
commit
bd6758592b
3 changed files with 15 additions and 36 deletions
|
@ -1,3 +1,9 @@
|
||||||
|
2000-11-20 Bernd Schmidt <bernds@redhat.co.uk>
|
||||||
|
|
||||||
|
* toplev.c (rest_of_compilation): Run optimize_mode_switching even
|
||||||
|
if not optimizing.
|
||||||
|
* sh.c (emit_sf_insn, emit_df_insn): Just call emit_insn.
|
||||||
|
|
||||||
2000-11-19 Richard Henderson <rth@redhat.com>
|
2000-11-19 Richard Henderson <rth@redhat.com>
|
||||||
|
|
||||||
* crtstuff.c (force_to_data): Use array size 1 not 0.
|
* crtstuff.c (force_to_data): Use array size 1 not 0.
|
||||||
|
|
|
@ -5014,38 +5014,14 @@ void
|
||||||
emit_sf_insn (pat)
|
emit_sf_insn (pat)
|
||||||
rtx pat;
|
rtx pat;
|
||||||
{
|
{
|
||||||
rtx addr;
|
|
||||||
/* When generating reload insns, we must not create new registers. FPSCR
|
|
||||||
should already have the correct value, so do nothing to change it. */
|
|
||||||
if (! TARGET_FPU_SINGLE && ! reload_in_progress && optimize < 1)
|
|
||||||
{
|
|
||||||
addr = gen_reg_rtx (SImode);
|
|
||||||
emit_insn (gen_fpu_switch0 (addr));
|
|
||||||
}
|
|
||||||
emit_insn (pat);
|
emit_insn (pat);
|
||||||
if (! TARGET_FPU_SINGLE && ! reload_in_progress && optimize < 1)
|
|
||||||
{
|
|
||||||
addr = gen_reg_rtx (SImode);
|
|
||||||
emit_insn (gen_fpu_switch1 (addr));
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
emit_df_insn (pat)
|
emit_df_insn (pat)
|
||||||
rtx pat;
|
rtx pat;
|
||||||
{
|
{
|
||||||
rtx addr;
|
|
||||||
if (TARGET_FPU_SINGLE && ! reload_in_progress && optimize < 1)
|
|
||||||
{
|
|
||||||
addr = gen_reg_rtx (SImode);
|
|
||||||
emit_insn (gen_fpu_switch0 (addr));
|
|
||||||
}
|
|
||||||
emit_insn (pat);
|
emit_insn (pat);
|
||||||
if (TARGET_FPU_SINGLE && ! reload_in_progress && optimize < 1)
|
|
||||||
{
|
|
||||||
addr = gen_reg_rtx (SImode);
|
|
||||||
emit_insn (gen_fpu_switch1 (addr));
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
|
21
gcc/toplev.c
21
gcc/toplev.c
|
@ -3345,20 +3345,17 @@ rest_of_compilation (decl)
|
||||||
register_life_up_to_date = 0;
|
register_life_up_to_date = 0;
|
||||||
|
|
||||||
#ifdef OPTIMIZE_MODE_SWITCHING
|
#ifdef OPTIMIZE_MODE_SWITCHING
|
||||||
if (optimize)
|
timevar_push (TV_GCSE);
|
||||||
|
|
||||||
|
if (optimize_mode_switching (NULL_PTR))
|
||||||
{
|
{
|
||||||
timevar_push (TV_GCSE);
|
/* We did work, and so had to regenerate global life information.
|
||||||
|
Take advantage of this and don't re-recompute register life
|
||||||
if (optimize_mode_switching (NULL_PTR))
|
information below. */
|
||||||
{
|
register_life_up_to_date = 1;
|
||||||
/* We did work, and so had to regenerate global life information.
|
|
||||||
Take advantage of this and don't re-recompute register life
|
|
||||||
information below. */
|
|
||||||
register_life_up_to_date = 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
timevar_pop (TV_GCSE);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
timevar_pop (TV_GCSE);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef INSN_SCHEDULING
|
#ifdef INSN_SCHEDULING
|
||||||
|
|
Loading…
Add table
Reference in a new issue