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

clfs-3.0.0-sysvinit sysvinit
Last change on this file since 9784318 was 0b44df8, 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
  • gcc/ChangeLog

    Submitted By: William Harrington (kb0iic at cross-lfs dot org)
    Date: 05-31-2014
    Initial Package Version: 4.8.3
    Origin: Upstream
    Upstream Status: Not applied
    Description: Do not depend on 2D + 1 form in parallelism check.
    http://gcc.gnu.org/ml/gcc-patches/2013-07/msg00524.html
    
    Includes PR tree-optimization/54094
    
    diff -Naur gcc-4.8.3.orig/gcc/ChangeLog gcc-4.8.3/gcc/ChangeLog
    old new  
    729729        * config/rs6000/rs6000-protos.h (rs6000_data_alignment): Declare.
    730730        * config/rs6000/rs6000.c (rs6000_data_alignment): New function.
    731731
     732        2013-07-13  Tobias Grosser  <tobias@grosser.es>
     733
     734        PR tree-optimization/54094
     735        * graphite-clast-to-gimple.c (translate_clast_for_loop): Derive the
     736          scheduling dimension for the parallelism check from the polyhedral
     737          information in the AST.
     738        * graphite-dependences.c (carries_deps): Do not assume the schedule is
     739          in 2D + 1 form.
     740
    732741        2013-07-11  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
    733742
    734743        * config/rs6000/rs6000.md (""*tls_gd_low<TLSmode:tls_abi_suffix>"):
  • gcc/graphite-clast-to-gimple.c

    diff -Naur gcc-4.8.3.orig/gcc/graphite-clast-to-gimple.c gcc-4.8.3/gcc/graphite-clast-to-gimple.c
    old new  
    11701170  redirect_edge_succ_nodup (next_e, after);
    11711171  set_immediate_dominator (CDI_DOMINATORS, next_e->dest, next_e->src);
    11721172
     1173  isl_set *domain = isl_set_from_cloog_domain (stmt->domain);
     1174  int scheduling_dim = isl_set_n_dim (domain);
     1175
    11731176  if (flag_loop_parallelize_all
    1174       && loop_is_parallel_p (loop, bb_pbb_mapping, level))
     1177      && loop_is_parallel_p (loop, bb_pbb_mapping, scheduling_dim))
    11751178    loop->can_be_parallel = true;
    11761179
    11771180  return last_e;
  • gcc/graphite-dependences.c

    diff -Naur gcc-4.8.3.orig/gcc/graphite-dependences.c gcc-4.8.3/gcc/graphite-dependences.c
    old new  
    297297              int depth)
    298298{
    299299  bool res;
    300   int idx, i;
     300  int i;
    301301  isl_space *space;
    302302  isl_map *lex, *x;
    303303  isl_constraint *ineq;
     
    312312  space = isl_map_get_space (x);
    313313  ineq = isl_inequality_alloc (isl_local_space_from_space (space));
    314314
    315   idx = 2 * depth + 1;
    316   for (i = 0; i < idx; i++)
     315  for (i = 0; i < depth - 1; i++)
    317316    lex = isl_map_equate (lex, isl_dim_in, i, isl_dim_out, i);
    318317
    319318  /* in + 1 <= out  */
    320   ineq = isl_constraint_set_coefficient_si (ineq, isl_dim_out, idx, 1);
    321   ineq = isl_constraint_set_coefficient_si (ineq, isl_dim_in, idx, -1);
     319  ineq = isl_constraint_set_coefficient_si (ineq, isl_dim_out, depth - 1, 1);
     320  ineq = isl_constraint_set_coefficient_si (ineq, isl_dim_in, depth - 1, -1);
    322321  ineq = isl_constraint_set_constant_si (ineq, -1);
    323322  lex = isl_map_add_constraint (lex, ineq);
    324323  x = isl_map_intersect (x, lex);
  • gcc/testsuite/gcc.dg/graphite/pr54094.c

    diff -Naur gcc-4.8.3.orig/gcc/testsuite/gcc.dg/graphite/pr54094.c gcc-4.8.3/gcc/testsuite/gcc.dg/graphite/pr54094.c
    old new  
     1/* { dg-options "-O2 -floop-parallelize-all -floop-nest-optimize" } */
     2void dwt_deinterleave_h(int *a, int *b, int dn, int sn, int cas)
     3{
     4  int i;
     5  for (i=0; i<sn; i++)
     6    b[i]=a[2*i+cas];
     7  for (i=0; i<dn; i++)
     8    b[sn+i]=a[(2*i+1-cas)];
     9}
     10
Note: See TracBrowser for help on using the repository browser.