re PR rtl-optimization/38740 (Incorrect delayed branch optimization)

PR rtl-optimization/38740
	* reorg.c (gate_handle_delay_slots): Avoid dbr scheduling
	if !optimize.
	* config/mips/mips.c (mips_reorg): Likewise.

From-SVN: r143733
This commit is contained in:
Jakub Jelinek 2009-01-28 17:05:41 +01:00 committed by Jakub Jelinek
parent de081cfd3b
commit c7789bfb8c
3 changed files with 10 additions and 2 deletions

View File

@ -1,3 +1,10 @@
2009-01-28 Jakub Jelinek <jakub@redhat.com>
PR rtl-optimization/38740
* reorg.c (gate_handle_delay_slots): Avoid dbr scheduling
if !optimize.
* config/mips/mips.c (mips_reorg): Likewise.
2009-01-28 Richard Guenther <rguenther@suse.de>
PR tree-optimization/38926

View File

@ -13296,7 +13296,7 @@ mips_reorg (void)
mips16_lay_out_constants ();
if (mips_r10k_cache_barrier != R10K_CACHE_BARRIER_NONE)
r10k_insert_cache_barriers ();
if (flag_delayed_branch)
if (optimize > 0 && flag_delayed_branch)
dbr_schedule (get_insns ());
mips_reorg_process_insns ();
if (!TARGET_MIPS16

View File

@ -4046,7 +4046,8 @@ static bool
gate_handle_delay_slots (void)
{
#ifdef DELAY_SLOTS
return flag_delayed_branch && !crtl->dbr_scheduled_p;
/* At -O0 dataflow info isn't updated after RA. */
return optimize > 0 && flag_delayed_branch && !crtl->dbr_scheduled_p;
#else
return 0;
#endif