source: patches/gcc-4.8.3-branch_update-1.patch@ e184030

systemd
Last change on this file since e184030 was 390c3ab, checked in by Chris Staub <chris@…>, 10 years ago

Added patches for GCC 4.8.3

  • Property mode set to 100644
File size: 3.5 KB
RevLine 
[390c3ab]1Submitted By: William Harrington (kb0iic at cross-lfs dot org)
2Date: 05-31-2014
3Initial Package Version: 4.8.3
4Origin: Upstream
5Upstream Status: Not applied
6Description: Do not depend on 2D + 1 form in parallelism check.
7http://gcc.gnu.org/ml/gcc-patches/2013-07/msg00524.html
8
9Includes PR tree-optimization/54094
10
11diff -Naur gcc-4.8.3.orig/gcc/ChangeLog gcc-4.8.3/gcc/ChangeLog
12--- gcc-4.8.3.orig/gcc/ChangeLog 2014-05-22 09:09:59.000000000 +0000
13+++ gcc-4.8.3/gcc/ChangeLog 2014-06-01 05:18:00.010857918 +0000
14@@ -729,6 +729,15 @@
15 * config/rs6000/rs6000-protos.h (rs6000_data_alignment): Declare.
16 * config/rs6000/rs6000.c (rs6000_data_alignment): New function.
17
18+ 2013-07-13 Tobias Grosser <tobias@grosser.es>
19+
20+ PR tree-optimization/54094
21+ * graphite-clast-to-gimple.c (translate_clast_for_loop): Derive the
22+ scheduling dimension for the parallelism check from the polyhedral
23+ information in the AST.
24+ * graphite-dependences.c (carries_deps): Do not assume the schedule is
25+ in 2D + 1 form.
26+
27 2013-07-11 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
28
29 * config/rs6000/rs6000.md (""*tls_gd_low<TLSmode:tls_abi_suffix>"):
30diff -Naur gcc-4.8.3.orig/gcc/graphite-clast-to-gimple.c gcc-4.8.3/gcc/graphite-clast-to-gimple.c
31--- gcc-4.8.3.orig/gcc/graphite-clast-to-gimple.c 2013-01-10 20:38:27.000000000 +0000
32+++ gcc-4.8.3/gcc/graphite-clast-to-gimple.c 2014-06-01 05:16:25.485054767 +0000
33@@ -1170,8 +1170,11 @@
34 redirect_edge_succ_nodup (next_e, after);
35 set_immediate_dominator (CDI_DOMINATORS, next_e->dest, next_e->src);
36
37+ isl_set *domain = isl_set_from_cloog_domain (stmt->domain);
38+ int scheduling_dim = isl_set_n_dim (domain);
39+
40 if (flag_loop_parallelize_all
41- && loop_is_parallel_p (loop, bb_pbb_mapping, level))
42+ && loop_is_parallel_p (loop, bb_pbb_mapping, scheduling_dim))
43 loop->can_be_parallel = true;
44
45 return last_e;
46diff -Naur gcc-4.8.3.orig/gcc/graphite-dependences.c gcc-4.8.3/gcc/graphite-dependences.c
47--- gcc-4.8.3.orig/gcc/graphite-dependences.c 2013-01-10 20:38:27.000000000 +0000
48+++ gcc-4.8.3/gcc/graphite-dependences.c 2014-06-01 05:16:25.485054767 +0000
49@@ -297,7 +297,7 @@
50 int depth)
51 {
52 bool res;
53- int idx, i;
54+ int i;
55 isl_space *space;
56 isl_map *lex, *x;
57 isl_constraint *ineq;
58@@ -312,13 +312,12 @@
59 space = isl_map_get_space (x);
60 ineq = isl_inequality_alloc (isl_local_space_from_space (space));
61
62- idx = 2 * depth + 1;
63- for (i = 0; i < idx; i++)
64+ for (i = 0; i < depth - 1; i++)
65 lex = isl_map_equate (lex, isl_dim_in, i, isl_dim_out, i);
66
67 /* in + 1 <= out */
68- ineq = isl_constraint_set_coefficient_si (ineq, isl_dim_out, idx, 1);
69- ineq = isl_constraint_set_coefficient_si (ineq, isl_dim_in, idx, -1);
70+ ineq = isl_constraint_set_coefficient_si (ineq, isl_dim_out, depth - 1, 1);
71+ ineq = isl_constraint_set_coefficient_si (ineq, isl_dim_in, depth - 1, -1);
72 ineq = isl_constraint_set_constant_si (ineq, -1);
73 lex = isl_map_add_constraint (lex, ineq);
74 x = isl_map_intersect (x, lex);
75diff -Naur gcc-4.8.3.orig/gcc/testsuite/gcc.dg/graphite/pr54094.c gcc-4.8.3/gcc/testsuite/gcc.dg/graphite/pr54094.c
76--- gcc-4.8.3.orig/gcc/testsuite/gcc.dg/graphite/pr54094.c 1970-01-01 00:00:00.000000000 +0000
77+++ gcc-4.8.3/gcc/testsuite/gcc.dg/graphite/pr54094.c 2014-06-01 05:16:25.485054767 +0000
78@@ -0,0 +1,10 @@
79+/* { dg-options "-O2 -floop-parallelize-all -floop-nest-optimize" } */
80+void dwt_deinterleave_h(int *a, int *b, int dn, int sn, int cas)
81+{
82+ int i;
83+ for (i=0; i<sn; i++)
84+ b[i]=a[2*i+cas];
85+ for (i=0; i<dn; i++)
86+ b[sn+i]=a[(2*i+1-cas)];
87+}
88+
Note: See TracBrowser for help on using the repository browser.