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