aboutsummaryrefslogtreecommitdiffstats
path: root/toolchain/gcc/patches/4.6.2/000-gcc-bug-54369.patch
blob: b91f0eb62e778734837e2e46377f93e8b9cee89d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
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)