blob: bd5afc50b7eb47ba0680f31eb392161cf0729f52 [file] [log] [blame]
/* 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. */