/* { dg-do compile } */ | |
/* { dg-options "-O2 -fdump-tree-pre-details" } */ | |
void bark (void); | |
int flag, hoist, y, z; | |
void | |
foo (void) | |
{ | |
if (flag) | |
y = hoist + 4; | |
else | |
flag = 888; | |
z = hoist + 4; | |
bark (); | |
} | |
/* We should see the partial redundancy of hoist + 4, not being confused | |
about bark () possibly clobbering hoist. */ | |
/* { dg-final { scan-tree-dump "Replaced hoist" "pre" } } */ |