From: Florian Fainelli Date: Fri, 7 Sep 2012 10:31:54 +0000 (+0000) Subject: gcc: add upstream fixes for GCC bug 54369 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=11f1712b49dd8c354e3d0cff5e9d9b01096b0412;p=librecmc%2Flibrecmc.git 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 --- diff --git a/toolchain/gcc/patches/4.6-linaro/000-gcc-bug-54369.patch b/toolchain/gcc/patches/4.6-linaro/000-gcc-bug-54369.patch new file mode 100644 index 0000000000..b91f0eb62e --- /dev/null +++ b/toolchain/gcc/patches/4.6-linaro/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) + 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) + diff --git a/toolchain/gcc/patches/4.7-linaro/001-gcc-bug-54369.patch b/toolchain/gcc/patches/4.7-linaro/001-gcc-bug-54369.patch new file mode 100644 index 0000000000..60a88b9856 --- /dev/null +++ b/toolchain/gcc/patches/4.7-linaro/001-gcc-bug-54369.patch @@ -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) + diff --git a/toolchain/gcc/patches/4.7.0/001-gcc-bug-54369.patch b/toolchain/gcc/patches/4.7.0/001-gcc-bug-54369.patch new file mode 100644 index 0000000000..60a88b9856 --- /dev/null +++ b/toolchain/gcc/patches/4.7.0/001-gcc-bug-54369.patch @@ -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) +