Author: ebotcazou Date: Sun Sep 2 10:37:49 2012 New Revision: 190860 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=190860 Log: PR rtl-optimization/54369 * config/mips/mips.c (mips_reorg): Invoke cleanup_barriers before calling dbr_schedule. * config/sparc/sparc.c (sparc_reorg): Likewise. Modified: branches/gcc-4_6-branch/gcc/ChangeLog branches/gcc-4_6-branch/gcc/config/mips/mips.c branches/gcc-4_6-branch/gcc/config/sparc/sparc.c --- --- gcc-4_6-branch/gcc/config/mips/mips.c 2012/09/02 10:36:54 190859 +++ gcc-4_6-branch/gcc/config/mips/mips.c 2012/09/02 10:37:49 190860 @@ -15083,7 +15083,10 @@ } 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 --- gcc-4_6-branch/gcc/config/sparc/sparc.c 2012/09/02 10:36:54 190859 +++ gcc-4_6-branch/gcc/config/sparc/sparc.c 2012/09/02 10:37:49 190860 @@ -9456,7 +9456,10 @@ /* 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)