/* { dg-do compile } */ /* { dg-options "-Os -fno-tree-fre -fdump-tree-dom2" } */ void foo(int *); void f2(int dst[3], int R) { int i, inter[2]; _Bool inter0p = 0; _Bool inter1p = 0; for (i = 1; i < R; i++) { inter0p = 1; inter1p = 1; } if (inter0p) inter[0] = 1; if (inter1p) inter[1] = 1; foo(inter); } /* There should be precisely two conditionals. One for the loop condition and one for the test after the loop. Previously we failed to eliminate the second conditional after the loop. */ /* { dg-final { scan-tree-dump-times "if" 2 "dom2"} } */