/* { dg-do compile } */ /* { dg-options "-O2 -fdump-ipa-cp-details" } */ static __attribute__((noinline, noclone)) int foo (int i) { if (i < 5) __builtin_abort (); return 0; } static __attribute__((noinline, noclone)) int bar (int j) { if (j > 8) return foo (j + 2); else if (j > 2) return foo (j + 3); return 0; } int main () { for (unsigned int i =0; i < 1000; ++i) bar (i); return 0; } /* { dg-final { scan-ipa-dump "Setting value range of param 0 \\(now 0\\).* \\\[6," "cp" } } */ /* { dg-final { scan-ipa-dump "Setting value range of param 0 \\(now 0\\).* \\\[0, 999\\\]" "cp" } } */