mirror of
https://github.com/crosstool-ng/crosstool-ng.git
synced 2024-12-30 09:38:52 +00:00
d1c9218c89
See http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54369 for more information This bug has a serious effect on Linux/MIPS and SPARC kernel builds. Add the fix for these versions of gcc: 4.6.0, 4.6.2, 4.6.3, and 4.7.0. Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
46 lines
1.4 KiB
Diff
46 lines
1.4 KiB
Diff
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)
|
|
|