Mercurial > hg > CbC > CbC_gcc
view gcc/testsuite/gcc.dg/graphite/pr35356-3.c @ 131:84e7813d76e9
gcc-8.2
author | mir3636 |
---|---|
date | Thu, 25 Oct 2018 07:37:49 +0900 |
parents | 04ced10e8804 |
children |
line wrap: on
line source
/* { dg-options "-O2 -fgraphite-identity -fdump-tree-graphite-all" } */ int winner, numf2s; double **tds; double d, tsum; typedef struct { double y; } xyz; xyz *Y; int ti; double match (void) { int tj, tresult; for (tj = 0; tj < numf2s; tj++) if (tj == winner && Y[tj].y > 0) tsum += tds[ti][tj] * d; return tsum; } /* There should be no loops generated for this testcase, instead we should generate the following: | if (winner >= 0 && winner < numf2s && Y[winner].y > 0) | tsum += tds[ti][winner] * d; For the moment this is XFAILed as this loop is not detected as a SCoP by graphite: we depend on data in one of the conditions, "Y[winner].y > 0". This could be fixed when we will use predicates for such cases. */ /* { dg-final { scan-tree-dump-times "loop_1" 0 "graphite" { xfail *-*-* } } } */ /* { dg-final { scan-tree-dump "number of SCoPs: 0" "graphite" } } */