/* PR37997 */ | |
/* { dg-do compile } */ | |
/* { dg-options "-O2 -fdump-tree-pre-details" } */ | |
int foo (int i, int b, int result) | |
{ | |
int mask; | |
if (b) | |
mask = -2; | |
else | |
mask = 0; | |
result = i + 1; | |
result = result & mask; | |
return result; | |
} | |
/* We should insert i + 1 into the if (b) path as well as the simplified | |
i + 1 & -2 expression. And do replacement with two PHI temps. */ | |
/* { dg-final { scan-tree-dump-times "with prephitmp" 2 "pre" } } */ | |
/* { dg-final { cleanup-tree-dump "pre" } } */ |