/* { dg-do compile } */ /* { dg-options "-O2 -fdump-ipa-cp-details" } */ volatile int cond; int abs (int); volatile int g; int __attribute__((noinline, noclone)) take_address (int *p) { g = *p; } static int __attribute__((noinline, noclone)) foo (int i) { if (i < 5) __builtin_abort (); return 0; } static int __attribute__((noinline, noclone)) bar (int j) { foo (~j); foo (abs (j)); foo (j); take_address (&j); return 0; } int main () { for (unsigned int i = 0; i < 10; ++i) bar (i); return 0; } /* { dg-final { scan-ipa-dump-times "Setting value range of param 0 \\\[-10, 9\\\]" 1 "cp" } } */