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

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [gcc/] [testsuite/] [gcc.dg/] [tree-ssa/] [ssa-dce-3.c] - Blame information for rev 689

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 689 jeremybenn
/* { dg-do compile } */
2
/* { dg-options "-O2 -fdump-tree-cddce1" } */
3
 
4
int main(void)
5
{
6
  unsigned i, j;
7
 
8
  for (i = 1, j = 0; i != 0; i+=2)
9
    {
10
      j += 500;
11
      if (j % 7)
12
        {
13
          j++;
14
        }
15
      else
16
        {
17
          j--;
18
        }
19
    }
20
 
21
  return 0;
22
}
23
 
24
/* We now can prove the infiniteness of the loop during CCP and fail
25
   to eliminate the code inside the infinite loop because we start
26
   by marking the j % 7 condition as useful.  See PR45178.  */
27
 
28
/* We should eliminate the inner condition, but the loop must be preserved
29
   as it is infinite.  Therefore there should be just one phi node (for i):  */
30
/* { dg-final { scan-tree-dump-times "PHI " 1 "cddce1" { xfail *-*-* } } } */
31
 
32
/* And one if (for the exit condition of the loop):  */
33
/* { dg-final { scan-tree-dump-times "if " 1 "cddce1" } } */
34
 
35
/* { dg-final { cleanup-tree-dump "cddce1" } } */

powered by: WebSVN 2.1.0

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