Viewing file: pr79095.c (4.98 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
/* { dg-do compile } */ /* { dg-options "-O2 -fno-ipa-icf -fdump-tree-vrp1" } */
extern void arf (unsigned x, unsigned y); extern void baz (unsigned x, unsigned y);
unsigned f1 (unsigned a, unsigned b) { b = a + 1; if (b < a) { arf (a, b); return 42; } baz (a, b); return b; }
unsigned f1r (unsigned a, unsigned b) { b = a + 1; if (a < b) { baz (a, b); return 42; } arf (a, b); return b; }
unsigned f1n (unsigned a, unsigned b) { b = a + 1; if (!(b < a)) { baz (a, b); return 42; } arf (a, b); return b; }
unsigned f1nr (unsigned a, unsigned b) { b = a + 1; if (!(a < b)) { arf (a, b); return 42; } baz (a, b); return b; }
unsigned f1o (unsigned a, unsigned b) { b = a + 1; if (a < b) { baz (a, b); return 42; } arf (a, b); return b; }
unsigned f1ro (unsigned a, unsigned b) { b = a + 1; if (b < a) { arf (a, b); return 42; } baz (a, b); return b; }
unsigned f1no (unsigned a, unsigned b) { b = a + 1; if (!(a < b)) { arf (a, b); return 42; } baz (a, b); return b; }
unsigned f1nro (unsigned a, unsigned b) { b = a + 1; if (!(b < a)) { baz (a, b); return 42; } arf (a, b); return b; }
unsigned f2 (unsigned a, unsigned b) { b = a + 1; if (b <= a) { arf (a, b); return 42; } baz (a, b); return b; }
unsigned f2r (unsigned a, unsigned b) { b = a + 1; if (a <= b) { baz (a, b); return 42; } arf (a, b); return b; }
unsigned f2n (unsigned a, unsigned b) { b = a + 1; if (!(b <= a)) { baz (a, b); return 42; } arf (a, b); return b; }
unsigned f2nr (unsigned a, unsigned b) { b = a + 1; if (!(a <= b)) { arf (a, b); return 42; } baz (a, b); return b; }
unsigned f2o (unsigned a, unsigned b) { b = a + 1; if (a <= b) { baz (a, b); return 42; } arf (a, b); return b; }
unsigned f2ro (unsigned a, unsigned b) { b = a + 1; if (b <= a) { arf (a, b); return 42; } baz (a, b); return b; }
unsigned f2no (unsigned a, unsigned b) { b = a + 1; if (!(a <= b)) { arf (a, b); return 42; } baz (a, b); return b; }
unsigned f2nro (unsigned a, unsigned b) { b = a + 1; if (!(b <= a)) { baz (a, b); return 42; } arf (a, b); return b; }
unsigned f3 (unsigned a, unsigned b) { b = a - 1; if (b < a) { baz (a, b); return 42; } arf (a, b); return b; }
unsigned f3r (unsigned a, unsigned b) { b = a - 1; if (a < b) { arf (a, b); return 42; } baz (a, b); return b; }
unsigned f3n (unsigned a, unsigned b) { b = a - 1; if (!(b < a)) { arf (a, b); return 42; } baz (a, b); return b; }
unsigned f3nr (unsigned a, unsigned b) { b = a - 1; if (!(a < b)) { baz (a, b); return 42; } arf (a, b); return b; }
unsigned f3o (unsigned a, unsigned b) { b = a - 1; if (a < b) { arf (a, b); return 42; } baz (a, b); return b; }
unsigned f3ro (unsigned a, unsigned b) { b = a - 1; if (b < a) { baz (a, b); return 42; } arf (a, b); return b; }
unsigned f3no (unsigned a, unsigned b) { b = a - 1; if (!(a < b)) { baz (a, b); return 42; } arf (a, b); return b; }
unsigned f3nro (unsigned a, unsigned b) { b = a - 1; if (!(b < a)) { arf (a, b); return 42; } baz (a, b); return b; }
unsigned f4 (unsigned a, unsigned b) { b = a - 1; if (b <= a) { baz (a, b); return 42; } arf (a, b); return b; }
unsigned f4r (unsigned a, unsigned b) { b = a - 1; if (a <= b) { arf (a, b); return 42; } baz (a, b); return b; }
unsigned f4n (unsigned a, unsigned b) { b = a - 1; if (!(b <= a)) { arf (a, b); return 42; } baz (a, b); return b; }
unsigned f4nr (unsigned a, unsigned b) { b = a - 1; if (!(a <= b)) { baz (a, b); return 42; } arf (a, b); return b; }
unsigned f4o (unsigned a, unsigned b) { b = a - 1; if (a <= b) { arf (a, b); return 42; } baz (a, b); return b; }
unsigned f4ro (unsigned a, unsigned b) { b = a - 1; if (b <= a) { baz (a, b); return 42; } arf (a, b); return b; }
unsigned f4no (unsigned a, unsigned b) { b = a - 1; if (!(a <= b)) { baz (a, b); return 42; } arf (a, b); return b; }
unsigned f4nro (unsigned a, unsigned b) { b = a - 1; if (!(b <= a)) { arf (a, b); return 42; } baz (a, b); return b; }
/* All calls to baz should still reference a & b as arguments. */ /* { dg-final { scan-tree-dump-times "baz \\(a_\[0-9\]+\\(D\\), b_\[0-9\]+\\)" 32 "vrp1"} } */
/* All calls to arf should have constant arguments. */ /* { dg-final { scan-tree-dump-times "arf \\(\[0-9\]+, \[0-9\]+\\)" 32 "vrp1"} } */
|