patches/gcc/4.6.1/000-gcc-bug-54369.patch
changeset 3049 f0ae157444dc
child 3104 7da91f9ba328
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/patches/gcc/4.6.1/000-gcc-bug-54369.patch	Wed Sep 19 10:35:32 2012 +0200
     1.3 @@ -0,0 +1,45 @@
     1.4 +Author: ebotcazou
     1.5 +Date: Sun Sep  2 10:37:49 2012
     1.6 +New Revision: 190860
     1.7 +
     1.8 +URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=190860
     1.9 +Log:
    1.10 +    PR rtl-optimization/54369
    1.11 +    * config/mips/mips.c (mips_reorg): Invoke cleanup_barriers before
    1.12 +    calling dbr_schedule.
    1.13 +    * config/sparc/sparc.c (sparc_reorg): Likewise.
    1.14 +
    1.15 +Modified:
    1.16 +    branches/gcc-4_6-branch/gcc/ChangeLog
    1.17 +    branches/gcc-4_6-branch/gcc/config/mips/mips.c
    1.18 +    branches/gcc-4_6-branch/gcc/config/sparc/sparc.c
    1.19 +---
    1.20 +--- gcc-4_6-branch/gcc/config/mips/mips.c	2012/09/02 10:36:54	190859
    1.21 ++++ gcc-4_6-branch/gcc/config/mips/mips.c	2012/09/02 10:37:49	190860
    1.22 +@@ -15083,7 +15083,10 @@
    1.23 +     }
    1.24 + 
    1.25 +   if (optimize > 0 && flag_delayed_branch)
    1.26 +-    dbr_schedule (get_insns ());
    1.27 ++    {
    1.28 ++      cleanup_barriers ();
    1.29 ++      dbr_schedule (get_insns ());
    1.30 ++    }
    1.31 +   mips_reorg_process_insns ();
    1.32 +   if (!TARGET_MIPS16
    1.33 +       && TARGET_EXPLICIT_RELOCS
    1.34 +--- gcc-4_6-branch/gcc/config/sparc/sparc.c	2012/09/02 10:36:54	190859
    1.35 ++++ gcc-4_6-branch/gcc/config/sparc/sparc.c	2012/09/02 10:37:49	190860
    1.36 +@@ -9456,7 +9456,10 @@
    1.37 +   /* We need to have the (essentially) final form of the insn stream in order
    1.38 +      to properly detect the various hazards.  Run delay slot scheduling.  */
    1.39 +   if (optimize > 0 && flag_delayed_branch)
    1.40 +-    dbr_schedule (get_insns ());
    1.41 ++    {
    1.42 ++      cleanup_barriers ();
    1.43 ++      dbr_schedule (get_insns ());
    1.44 ++    }
    1.45 + 
    1.46 +   /* Now look for specific patterns in the insn stream.  */
    1.47 +   for (insn = get_insns (); insn; insn = next)
    1.48 +