ssa-chrec-47.c   [plain text]


/* APPLE LOCAL file lno */
/* { dg-do compile } */ 
/* { dg-options "-O1 -floop-test -fdump-tree-lptest-details" } */

int 
foo (int unknown_parm, int a, int b)
{
  int p;
  
  if (unknown_parm)
    {
      p = a + 2;
    }
  else
    {
      p = b + 1;
    }
  
  /* At this point the initial condition of "p" is unknown.  
     In this case, the analyzer has to keep the initial condition under a symbolic form.  */
  
  while (p)
    p--;
  
}

/* 
   p  ->  {p_1, +, -1}_1  
   
   or, when the Value Range Propagation does its work:
   
   p  ->  {[MIN_EXPR <p_4, p_6>, MAX_EXPR <p_4, p_6>], +, -1}_1
   
*/

/* FIXME. */