aboutsummaryrefslogtreecommitdiffstats
path: root/toolchain/gcc/patches/4.6.3/000-gcc-bug-54369.patch
diff options
context:
space:
mode:
Diffstat (limited to 'toolchain/gcc/patches/4.6.3/000-gcc-bug-54369.patch')
-rw-r--r--toolchain/gcc/patches/4.6.3/000-gcc-bug-54369.patch45
1 files changed, 45 insertions, 0 deletions
diff --git a/toolchain/gcc/patches/4.6.3/000-gcc-bug-54369.patch b/toolchain/gcc/patches/4.6.3/000-gcc-bug-54369.patch
new file mode 100644
index 0000000000..b91f0eb62e
--- /dev/null
+++ b/toolchain/gcc/patches/4.6.3/000-gcc-bug-54369.patch
@@ -0,0 +1,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)
+