OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [tags/] [gnu-src/] [gcc-4.5.1/] [gcc-4.5.1-or32-1.0rc1/] [gcc/] [testsuite/] [gcc.dg/] [tree-ssa/] [ldist-2.c] - Diff between revs 298 and 338

Only display areas with differences | Details | Blame | View Log

Rev 298 Rev 338
/* { dg-do compile } */
/* { dg-do compile } */
/* { dg-options "-O2 -ftree-loop-distribution -fdump-tree-ldist-all" } */
/* { dg-options "-O2 -ftree-loop-distribution -fdump-tree-ldist-all" } */
 
 
void foo (int * __restrict__ a,
void foo (int * __restrict__ a,
          int * __restrict__ b,
          int * __restrict__ b,
          int * __restrict__ c)
          int * __restrict__ c)
{
{
  int i;
  int i;
 
 
  for (i=1; i < 10; i++)
  for (i=1; i < 10; i++)
    {
    {
      a[i] += c[i];
      a[i] += c[i];
      b[i] = a[i - 1] + 1;
      b[i] = a[i - 1] + 1;
    }
    }
 
 
  /* This loop is not distributed because the cost of spliting it:
  /* This loop is not distributed because the cost of spliting it:
 
 
     |  for (i=1; i < N; i++)
     |  for (i=1; i < N; i++)
     |    a[i] += c[i];
     |    a[i] += c[i];
     |
     |
     |  for (i=1; i < N; i++)
     |  for (i=1; i < N; i++)
     |    b[i] = a[i - 1] + 1;
     |    b[i] = a[i - 1] + 1;
 
 
     is higher due to data in array A that is written and then read in
     is higher due to data in array A that is written and then read in
     another task.  The cost model should forbid the transformation in
     another task.  The cost model should forbid the transformation in
     this case.
     this case.
  */
  */
}
}
 
 
/* { dg-final { scan-tree-dump-times "distributed: split to 2 loops" 0 "ldist" } } */
/* { dg-final { scan-tree-dump-times "distributed: split to 2 loops" 0 "ldist" } } */
/* { dg-final { cleanup-tree-dump "ldist" } } */
/* { dg-final { cleanup-tree-dump "ldist" } } */
 
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.