1 /* { dg-do compile } */ 2 /* { dg-options "-O2 -fdump-tree-pre-details" } */ 3 4 void bark (void); 5 int flag, hoist, y, z; 6 7 void foo(void)8foo (void) 9 { 10 if (flag) 11 y = hoist + 4; 12 else 13 flag = 888; 14 z = hoist + 4; 15 bark (); 16 } 17 18 /* We should see the partial redundancy of hoist + 4, not being confused 19 about bark () possibly clobbering hoist. */ 20 21 /* { dg-final { scan-tree-dump "Replaced hoist" "pre" } } */ 22