re PR rtl-optimization/54369 (delayed-branch pass removes too many instructions)

PR rtl-optimization/54369
	* config/mips/mips.c (mips_reorg): Invoke cleanup_barriers before
	calling dbr_schedule.
	* config/sparc/sparc.c (sparc_reorg): Likewise.

From-SVN: r190859
This commit is contained in:
Eric Botcazou 2012-09-02 10:36:54 +00:00 committed by Eric Botcazou
parent 6cc8c806bd
commit 13dfb670ae
3 changed files with 15 additions and 2 deletions

View File

@ -1,3 +1,10 @@
2012-09-02 Eric Botcazou <ebotcazou@adacore.com>
PR rtl-optimization/54369
* config/mips/mips.c (mips_reorg): Invoke cleanup_barriers before
calling dbr_schedule.
* config/sparc/sparc.c (sparc_reorg): Likewise.
2012-08-31 Kirill Yukhin <kirill.yukhin@intel.com>
Backport from mainline

View File

@ -15415,7 +15415,10 @@ mips_reorg (void)
}
if (optimize > 0 && flag_delayed_branch)
dbr_schedule (get_insns ());
{
cleanup_barriers ();
dbr_schedule (get_insns ());
}
mips_reorg_process_insns ();
if (!TARGET_MIPS16
&& TARGET_EXPLICIT_RELOCS

View File

@ -10663,7 +10663,10 @@ sparc_reorg (void)
/* We need to have the (essentially) final form of the insn stream in order
to properly detect the various hazards. Run delay slot scheduling. */
if (optimize > 0 && flag_delayed_branch)
dbr_schedule (get_insns ());
{
cleanup_barriers ();
dbr_schedule (get_insns ());
}
/* Now look for specific patterns in the insn stream. */
for (insn = get_insns (); insn; insn = next)