| /* { dg-do compile } */ | |
| /* { dg-options "-O2 -fdump-tree-vrp1" } */ | |
| extern void vrp_keep (void); | |
| void | |
| f2 (int s, int b) | |
| { | |
| if (s > 1) | |
| s = 1; | |
| /* s in [minint, 1]. */ | |
| b = (b & 1) + 1; | |
| /* b in range [1, 2]. */ | |
| b = s << b; | |
| /* b in range [minint+4, maxint-3]. */ | |
| if (b == -2) | |
| vrp_keep (); | |
| } | |
| /* { dg-final { scan-tree-dump-times "vrp_keep \\(" 1 "vrp1"} } */ |