gcc: add upstream fixes for GCC bug 54369

See http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54369 for more infos.

SVN-Revision: 33328
This commit is contained in:
Florian Fainelli 2012-09-07 10:31:54 +00:00
parent c3b7139ab2
commit 11f1712b49
4 changed files with 180 additions and 0 deletions

View file

@ -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)

View file

@ -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)

View file

@ -0,0 +1,45 @@
Author: ebotcazou
Date: Sun Sep 2 10:36:54 2012
New Revision: 190859
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=190859
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_7-branch/gcc/ChangeLog
branches/gcc-4_7-branch/gcc/config/mips/mips.c
branches/gcc-4_7-branch/gcc/config/sparc/sparc.c
---
--- gcc-4_7-branch/gcc/config/mips/mips.c 2012/09/02 10:36:27 190858
+++ gcc-4_7-branch/gcc/config/mips/mips.c 2012/09/02 10:36:54 190859
@@ -15415,7 +15415,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_7-branch/gcc/config/sparc/sparc.c 2012/09/02 10:36:27 190858
+++ gcc-4_7-branch/gcc/config/sparc/sparc.c 2012/09/02 10:36:54 190859
@@ -10663,7 +10663,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)

View file

@ -0,0 +1,45 @@
Author: ebotcazou
Date: Sun Sep 2 10:36:54 2012
New Revision: 190859
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=190859
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_7-branch/gcc/ChangeLog
branches/gcc-4_7-branch/gcc/config/mips/mips.c
branches/gcc-4_7-branch/gcc/config/sparc/sparc.c
---
--- gcc-4_7-branch/gcc/config/mips/mips.c 2012/09/02 10:36:27 190858
+++ gcc-4_7-branch/gcc/config/mips/mips.c 2012/09/02 10:36:54 190859
@@ -15415,7 +15415,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_7-branch/gcc/config/sparc/sparc.c 2012/09/02 10:36:27 190858
+++ gcc-4_7-branch/gcc/config/sparc/sparc.c 2012/09/02 10:36:54 190859
@@ -10663,7 +10663,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)