diff options
author | 2013-04-28 03:10:54 +0000 | |
---|---|---|
committer | 2013-04-28 03:10:54 +0000 | |
commit | bab5d10a500b9ffc0c8a4c0ab8285e3db659ec79 (patch) | |
tree | e4ce4b59283a8a2a6d6edf05861300835944f267 /4.7.3 | |
parent | Patch info file directly. (diff) | |
download | gcc-patches-bab5d10a500b9ffc0c8a4c0ab8285e3db659ec79.tar.gz gcc-patches-bab5d10a500b9ffc0c8a4c0ab8285e3db659ec79.tar.bz2 gcc-patches-bab5d10a500b9ffc0c8a4c0ab8285e3db659ec79.zip |
Drop upstreamed patches.
Diffstat (limited to '4.7.3')
-rw-r--r-- | 4.7.3/gentoo/82_all_alpha_4.6.4_pr56023_bootstrap.patch | 56 | ||||
-rw-r--r-- | 4.7.3/gentoo/93_all_pr33763_4.7.3_extern-inline.patch | 86 | ||||
-rw-r--r-- | 4.7.3/gentoo/94_all_pr53708_4.7.3_user-alignment.patch | 22 | ||||
-rw-r--r-- | 4.7.3/gentoo/95_all_pr55940_4.7.3_x86-stack-parameters.patch | 93 | ||||
-rw-r--r-- | 4.7.3/gentoo/96_all_pr56125_4.7.3_ffast-math-pow.patch | 111 | ||||
-rw-r--r-- | 4.7.3/gentoo/README.history | 5 |
6 files changed, 0 insertions, 373 deletions
diff --git a/4.7.3/gentoo/82_all_alpha_4.6.4_pr56023_bootstrap.patch b/4.7.3/gentoo/82_all_alpha_4.6.4_pr56023_bootstrap.patch deleted file mode 100644 index c3fa75f..0000000 --- a/4.7.3/gentoo/82_all_alpha_4.6.4_pr56023_bootstrap.patch +++ /dev/null @@ -1,56 +0,0 @@ -[4.6 Regression]: [alpha] -fcompare-debug failure due to sched1 pass - -http://gcc.gnu.org/PR56023 -https://bugs.gentoo.org/451680 - - -Author: uros -Date: Mon Jan 21 18:02:57 2013 -New Revision: 195345 - -URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=195345 -Log: - PR rtl-optimization/56023 - * haifa-sched.c (fix_inter_tick): Do not update ticks of instructions, - dependent on debug instruction. - -testsuite/ChangeLog: - - PR rtl-optimization/56023 - * gcc.dg/pr56023.c: New test. - - ---- a/gcc/haifa-sched.c -+++ b/gcc/haifa-sched.c -@@ -3684,6 +3684,9 @@ fix_inter_tick (rtx head, rtx tail) - INSN_TICK (head) = tick; - } - -+ if (DEBUG_INSN_P (head)) -+ continue; -+ - FOR_EACH_DEP (head, SD_LIST_RES_FORW, sd_it, dep) - { - rtx next; ---- /dev/null -+++ b/gcc/testsuite/gcc.dg/pr56023.c -@@ -0,0 +1,19 @@ -+/* { dg-do compile } */ -+/* { dg-options "-O2 -fcompare-debug" } */ -+ -+void -+foo (char *c) -+{ -+ unsigned int x = 0; -+ unsigned int i; -+ -+ for (i = 0; c[i]; i++) -+ { -+ if (i >= 5 && x != 1) -+ break; -+ else if (c[i] == ' ') -+ x = i; -+ else if (c[i] == '/' && c[i + 1] != ' ' && i) -+ x = i + 1; -+ } -+} diff --git a/4.7.3/gentoo/93_all_pr33763_4.7.3_extern-inline.patch b/4.7.3/gentoo/93_all_pr33763_4.7.3_extern-inline.patch deleted file mode 100644 index 7d5b838..0000000 --- a/4.7.3/gentoo/93_all_pr33763_4.7.3_extern-inline.patch +++ /dev/null @@ -1,86 +0,0 @@ -Silently ignore always_inline attribute for redefined extern inline functions. - -https://bugs.gentoo.org/423945 - -http://gcc.gnu.org/PR33763 -http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=192121 - - ---- /dev/null -+++ b/gcc/testsuite/c-c++-common/pr33763.c -@@ -0,0 +1,60 @@ -+/* PR tree-optimization/33763 */ -+/* { dg-do compile } */ -+/* { dg-options "-O2" } */ -+ -+typedef struct -+{ -+ void *a; -+ void *b; -+} T; -+extern void *foo (const char *, const char *); -+extern void *bar (void *, const char *, T); -+extern int baz (const char *, int); -+ -+extern inline __attribute__ ((always_inline, gnu_inline)) int -+baz (const char *x, int y) -+{ -+ return 2; -+} -+ -+int -+baz (const char *x, int y) -+{ -+ return 1; -+} -+ -+int xa, xb; -+ -+static void * -+inl (const char *x, const char *y) -+{ -+ T t = { &xa, &xb }; -+ int *f = (int *) __builtin_malloc (sizeof (int)); -+ const char *z; -+ int o = 0; -+ void *r = 0; -+ -+ for (z = y; *z; z++) -+ { -+ if (*z == 'r') -+ o |= 1; -+ if (*z == 'w') -+ o |= 2; -+ } -+ if (o == 1) -+ *f = baz (x, 0); -+ if (o == 2) -+ *f = baz (x, 1); -+ if (o == 3) -+ *f = baz (x, 2); -+ -+ if (o && *f > 0) -+ r = bar (f, "w", t); -+ return r; -+} -+ -+void * -+foo (const char *x, const char *y) -+{ -+ return inl (x, y); -+} ---- a/gcc/tree-inline.c -+++ b/gcc/tree-inline.c -@@ -3836,6 +3836,12 @@ expand_call_inline (basic_block bb, gimple stmt, copy_body_data *id) - goto egress; - - if (lookup_attribute ("always_inline", DECL_ATTRIBUTES (fn)) -+ /* For extern inline functions that get redefined we always -+ silently ignored always_inline flag. Better behaviour would -+ be to be able to keep both bodies and use extern inline body -+ for inlining, but we can't do that because frontends overwrite -+ the body. */ -+ && !cg_edge->callee->local.redefined_extern_inline - /* Avoid warnings during early inline pass. */ - && cgraph_global_info_ready - /* PR 20090218-1_0.c. Body can be provided by another module. */ diff --git a/4.7.3/gentoo/94_all_pr53708_4.7.3_user-alignment.patch b/4.7.3/gentoo/94_all_pr53708_4.7.3_user-alignment.patch deleted file mode 100644 index 681c59b..0000000 --- a/4.7.3/gentoo/94_all_pr53708_4.7.3_user-alignment.patch +++ /dev/null @@ -1,22 +0,0 @@ -Do not override explicit alignment on user-defined sections. - -http://gcc.gnu.org/PR53708 -http://gcc.gnu.org/viewcvs?view=revision&revision=193121 - - ---- a/gcc/tree-vect-data-refs.c -+++ b/gcc/tree-vect-data-refs.c -@@ -4574,6 +4574,13 @@ vect_can_force_dr_alignment_p (const_tree decl, unsigned int alignment) - if (TREE_ASM_WRITTEN (decl)) - return false; - -+ /* Do not override explicit alignment set by the user when an explicit -+ section name is also used. This is a common idiom used by many -+ software projects. */ -+ if (DECL_SECTION_NAME (decl) != NULL_TREE -+ && !DECL_HAS_IMPLICIT_SECTION_NAME_P (decl)) -+ return false; -+ - if (TREE_STATIC (decl)) - return (alignment <= MAX_OFILE_ALIGNMENT); - else diff --git a/4.7.3/gentoo/95_all_pr55940_4.7.3_x86-stack-parameters.patch b/4.7.3/gentoo/95_all_pr55940_4.7.3_x86-stack-parameters.patch deleted file mode 100644 index 6117bc7..0000000 --- a/4.7.3/gentoo/95_all_pr55940_4.7.3_x86-stack-parameters.patch +++ /dev/null @@ -1,93 +0,0 @@ -Incorrect code for accessing parameters with 32-bit Intel hosts -http://gcc.gnu.org/PR55940 - - -commit eccae624ce764c52ff7ffbc3db95fc58c01ab5d4 -Author: jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4> -Date: Fri Feb 1 14:09:38 2013 +0000 - - Backported from mainline - 2013-01-15 Jakub Jelinek <jakub@redhat.com> - - PR target/55940 - * function.c (thread_prologue_and_epilogue_insns): Always - add crtl->drap_reg to set_up_by_prologue.set, even if - stack_realign_drap is false. - - * gcc.dg/pr55940.c: New test. - - - git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_7-branch@195656 138bc75d-0d04-0410-961f-82ee72b054a4 ---- - gcc/function.c | 2 +- - gcc/testsuite/gcc.dg/pr55940.c | 54 ++++++++++++++++++++++++++++++++++++++++++ - 4 files changed, 67 insertions(+), 1 deletion(-) - ---- a/gcc/function.c -+++ b/gcc/function.c -@@ -5961,7 +5961,7 @@ thread_prologue_and_epilogue_insns (void) - if (pic_offset_table_rtx) - add_to_hard_reg_set (&set_up_by_prologue.set, Pmode, - PIC_OFFSET_TABLE_REGNUM); -- if (stack_realign_drap && crtl->drap_reg) -+ if (crtl->drap_reg) - add_to_hard_reg_set (&set_up_by_prologue.set, - GET_MODE (crtl->drap_reg), - REGNO (crtl->drap_reg)); ---- /dev/null -+++ b/gcc/testsuite/gcc.dg/pr55940.c -@@ -0,0 +1,54 @@ -+/* PR target/55940 */ -+/* { dg-do run } */ -+/* { dg-options "-Os" } */ -+/* { dg-additional-options "-mpreferred-stack-boundary=2" { target { { i?86-*-* x86_64-*-* } && ia32 } } } */ -+ -+struct S { int s; unsigned long t; }; -+ -+__attribute__ ((noinline, noclone)) unsigned long long -+bar (struct S *x, unsigned long y) -+{ -+ asm volatile ("" : : "r" (x), "r" (y) : "memory"); -+ return x->s + y; -+} -+ -+__attribute__ ((noinline, noclone)) unsigned long long -+foo (struct S *x, unsigned long y) -+{ -+ unsigned long a; -+ if (__builtin_expect (((__UINTPTR_TYPE__) (x) + 0x1000U < 0x2000U), 0)) -+ return ~0ULL; -+ if (__builtin_expect (x->s <= 0 || x->s > 9, 0)) -+ return ~0ULL; -+ a = x->t >> 12; -+ if (y == a) -+ return ~0ULL; -+ if (x->s == 3) -+ return x->t + y * 4096; -+ return bar (x, y); -+} -+ -+int va, vb, vc, vd; -+ -+int -+main () -+{ -+ struct S s; -+ asm volatile ("" : : : "memory"); -+ int a = va, b = vb, c = vc, d = vd; -+ asm volatile ("" : : : "memory"); -+ int i; -+ for (i = 0; i < 64; i++) -+ if (foo ((struct S *) 0, 0) != ~0ULL) -+ __builtin_abort (); -+ s.s = 3; -+ s.t = 2 << 12; -+ if (foo (&s, 2) != ~0ULL) -+ __builtin_abort (); -+ if (foo (&s, 3) != (2 << 12) + 3 * 4096) -+ __builtin_abort (); -+ asm volatile ("" : : : "memory"); -+ va = a; vb = b; vc = c; vd = d; -+ asm volatile ("" : : : "memory"); -+ return 0; -+} diff --git a/4.7.3/gentoo/96_all_pr56125_4.7.3_ffast-math-pow.patch b/4.7.3/gentoo/96_all_pr56125_4.7.3_ffast-math-pow.patch deleted file mode 100644 index e86b06d..0000000 --- a/4.7.3/gentoo/96_all_pr56125_4.7.3_ffast-math-pow.patch +++ /dev/null @@ -1,111 +0,0 @@ --O2 -ffast-math generates bad code when dividing a double by the square of another double. - -http://gcc.gnu.org/PR56125 - - -commit a42ec1527275f12e8584e1640bc6b16a9d2ca858 -Author: jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4> -Date: Fri Feb 1 14:17:50 2013 +0000 - - Backported from mainline - 2013-01-28 Jakub Jelinek <jakub@redhat.com> - - PR tree-optimization/56125 - * tree-ssa-math-opts.c (gimple_expand_builtin_pow): Don't optimize - pow(x,c) into sqrt(x) * powi(x, n/2) or - 1.0 / (sqrt(x) * powi(x, abs(n/2))) if c is an integer or when - optimizing for size. - Don't optimize pow(x,c) into powi(x, n/3) * powi(cbrt(x), n%3) or - 1.0 / (powi(x, abs(n)/3) * powi(cbrt(x), abs(n)%3)) if 2c is an - integer. - - * gcc.dg/pr56125.c: New test. - - - git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_7-branch@195664 138bc75d-0d04-0410-961f-82ee72b054a4 ---- - gcc/ChangeLog | 11 +++++++++++ - gcc/testsuite/ChangeLog | 5 +++++ - gcc/testsuite/gcc.dg/pr56125.c | 21 +++++++++++++++++++++ - gcc/tree-ssa-math-opts.c | 14 ++++++++++---- - 4 files changed, 47 insertions(+), 4 deletions(-) - ---- /dev/null -+++ b/gcc/testsuite/gcc.dg/pr56125.c -@@ -0,0 +1,21 @@ -+/* PR tree-optimization/56125 */ -+/* { dg-do run } */ -+/* { dg-options "-O2 -ffast-math" } */ -+ -+extern void abort (void); -+extern double fabs (double); -+ -+__attribute__((cold)) double -+foo (double x, double n) -+{ -+ double u = x / (n * n); -+ return u; -+} -+ -+int -+main () -+{ -+ if (fabs (foo (29, 2) - 7.25) > 0.001) -+ abort (); -+ return 0; -+} ---- a/gcc/tree-ssa-math-opts.c -+++ b/gcc/tree-ssa-math-opts.c -@@ -1113,7 +1113,7 @@ gimple_expand_builtin_pow (gimple_stmt_iterator *gsi, location_t loc, - tree type, sqrtfn, cbrtfn, sqrt_arg0, sqrt_sqrt, result, cbrt_x, powi_cbrt_x; - tree target = NULL_TREE; - enum machine_mode mode; -- bool hw_sqrt_exists; -+ bool hw_sqrt_exists, c_is_int, c2_is_int; - - /* If the exponent isn't a constant, there's nothing of interest - to be done. */ -@@ -1125,8 +1125,9 @@ gimple_expand_builtin_pow (gimple_stmt_iterator *gsi, location_t loc, - c = TREE_REAL_CST (arg1); - n = real_to_integer (&c); - real_from_integer (&cint, VOIDmode, n, n < 0 ? -1 : 0, 0); -+ c_is_int = real_identical (&c, &cint); - -- if (real_identical (&c, &cint) -+ if (c_is_int - && ((n >= -1 && n <= 2) - || (flag_unsafe_math_optimizations - && optimize_insn_for_speed_p () -@@ -1224,7 +1225,8 @@ gimple_expand_builtin_pow (gimple_stmt_iterator *gsi, location_t loc, - return build_and_insert_call (gsi, loc, &target, cbrtfn, sqrt_arg0); - } - -- /* Optimize pow(x,c), where n = 2c for some nonzero integer n, into -+ /* Optimize pow(x,c), where n = 2c for some nonzero integer n -+ and c not an integer, into - - sqrt(x) * powi(x, n/2), n > 0; - 1.0 / (sqrt(x) * powi(x, abs(n/2))), n < 0. -@@ -1233,10 +1235,13 @@ gimple_expand_builtin_pow (gimple_stmt_iterator *gsi, location_t loc, - real_arithmetic (&c2, MULT_EXPR, &c, &dconst2); - n = real_to_integer (&c2); - real_from_integer (&cint, VOIDmode, n, n < 0 ? -1 : 0, 0); -+ c2_is_int = real_identical (&c2, &cint); - - if (flag_unsafe_math_optimizations - && sqrtfn -- && real_identical (&c2, &cint)) -+ && c2_is_int -+ && !c_is_int -+ && optimize_function_for_speed_p (cfun)) - { - tree powi_x_ndiv2 = NULL_TREE; - -@@ -1289,6 +1294,7 @@ gimple_expand_builtin_pow (gimple_stmt_iterator *gsi, location_t loc, - && cbrtfn - && (gimple_val_nonnegative_real_p (arg0) || !HONOR_NANS (mode)) - && real_identical (&c2, &c) -+ && !c2_is_int - && optimize_function_for_speed_p (cfun) - && powi_cost (n / 3) <= POWI_MAX_MULTS) - { diff --git a/4.7.3/gentoo/README.history b/4.7.3/gentoo/README.history index 0a33a5e..803584e 100644 --- a/4.7.3/gentoo/README.history +++ b/4.7.3/gentoo/README.history @@ -22,10 +22,5 @@ + 52_all_netbsd-Bsymbolic.patch + 67_all_gcc-poison-system-directories.patch + 74_all_gcc47_cloog-dl.patch - + 82_all_alpha_4.6.4_pr56023_bootstrap.patch + 90_all_gcc-4.7-x32.patch + 92_all_freebsd-pie.patch - + 93_all_pr33763_4.7.3_extern-inline.patch - + 94_all_pr53708_4.7.3_user-alignment.patch - + 95_all_pr55940_4.7.3_x86-stack-parameters.patch - + 96_all_pr56125_4.7.3_ffast-math-pow.patch |