https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120065

--- Comment #5 from Alex Coplan <acoplan at gcc dot gnu.org> ---
FWIW, the following testcase seems to be more representative of the original
problem I saw when looking at gcc.c-torture/execute/20060420-1.c:

$ cat t2.c
void foo(float *dst, float *src)
{
  int j;
  for (j = 0; j < 16 && src[j]; j++)
    dst[j] = src[j];
  for (; j < 1; j++)
    dst[j] = src[j];
}
$ mkdir dmp
$ ./xgcc -B . -c t2.c -S -o dmp/a.s -O3 -fdump-tree-all-blocks-details
$  grep -Irn "Invalid sum" dmp | sort -n | head -n 4
dmp/a.c.122t.threadfull1:140:;;   Invalid sum of incoming counts 114571471
(estimated locally, freq 0.9700), should be 955630223 (estimated locally, freq
8.0909)
dmp/a.c.122t.threadfull1:148:;;   Invalid sum of incoming counts 959170352
(estimated locally, freq 8.1209), should be 118111600 (estimated locally, freq
1.0000)
dmp/a.c.123t.vrp1:273:;;   Invalid sum of incoming counts 114571471 (estimated
locally, freq 0.9700), should be 955630223 (estimated locally, freq 8.0909)
dmp/a.c.123t.vrp1:281:;;   Invalid sum of incoming counts 959170352 (estimated
locally, freq 8.1209), should be 118111600 (estimated locally, freq 1.0000)

so this testcase (and indeed the original gcc.c-torture test) start failing in
threadfull1 (not dom2) and it looks to have started with a different change,
too (r14-376-g47a7643991192a756d0fb9057a0a2bfce338a09f).  Perhaps we want a
separate PR for this one.

Apologies for the bad reduction in the initial report.

Reply via email to