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

clfs-3.0.0-systemdsystemd
Last change on this file since be1c363 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.