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

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [gcc/] [testsuite/] [gcc.dg/] [graphite/] [pr35356-3.c] - Blame information for rev 801

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 689 jeremybenn
/* { dg-options "-O2 -fgraphite-identity -fdump-tree-graphite-all" } */
2
 
3
 
4
int winner, numf2s;
5
double **tds;
6
double d, tsum;
7
 
8
typedef struct {
9
  double y;
10
} xyz;
11
 
12
xyz *Y;
13
int ti;
14
 
15
double
16
match (void)
17
{
18
  int tj, tresult;
19
 
20
  for (tj = 0; tj < numf2s; tj++)
21
    if (tj == winner
22
        && Y[tj].y > 0)
23
      tsum += tds[ti][tj] * d;
24
 
25
  return tsum;
26
}
27
 
28
/* There should be no loops generated for this testcase, instead we
29
   should generate the following:
30
 
31
   | if (winner >= 0 && winner < numf2s && Y[winner].y > 0)
32
   |   tsum += tds[ti][winner] * d;
33
 
34
   For the moment this is XFAILed as this loop is not detected as a
35
   SCoP by graphite: we depend on data in one of the conditions,
36
   "Y[winner].y > 0".  This could be fixed when we will use predicates
37
   for such cases.  */
38
 
39
/* { dg-final { scan-tree-dump-times "loop_1" 0 "graphite" { xfail *-*-* } } } */
40
/* { dg-final { cleanup-tree-dump "graphite" } } */

powered by: WebSVN 2.1.0

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