------- Comment #5 from hjl at lucon dot org 2007-07-07 16:54 ------- Before the change, PRE generates:
# prephitmp.165_1394 = PHI <storetmp.156_472(127), storetmp.156_452(130)> # prephitmp.165_1395 = PHI <storetmp.156_1216(127), storetmp.156_466(130)> # nlast_26 = PHI <0(127), nlast_442(130)> # lasp_21 = PHI <1(127), lasp_454(130)> D.1457_436 = prephitmp.165_1395; ii.62_440 = ii; D.1361_441 = ii.62_440 + -1; nlast_442 = (*iwhi_303(D))[D.1361_441]; D.1459_443 = nlast_442 + -1; D.1460_444 = D.1459_443 * nlast_442; D.1461_445 = D.1460_444 / 2; D.1462_446 = D.1457_436 + D.1461_445; storetmp.156_466 = D.1462_446; *nswe_430(D) = D.1462_446; D.1463_447 = prephitmp.165_1394; D.1464_448 = D.1463_447 + 1; storetmp.156_452 = D.1464_448; *ncat_431(D) = D.1464_448; D.1466_451 = nlast_26 + lasp_21; (*inat_192(D))[D.1463_447] = D.1466_451; D.1465_453 = prephitmp.165_1394; After change, PRE generates: # prephitmp.165_1395 = PHI <storetmp.156_1216(127), storetmp.156_466(130)> # nlast_26 = PHI <0(127), nlast_442(130)> # lasp_21 = PHI <1(127), lasp_454(130)> D.1457_436 = prephitmp.165_1395; ii.62_440 = ii; D.1361_441 = ii.62_440 + -1; nlast_442 = (*iwhi_303(D))[D.1361_441]; D.1459_443 = nlast_442 + -1; D.1460_444 = D.1459_443 * nlast_442; D.1461_445 = D.1460_444 / 2; D.1462_446 = D.1457_436 + D.1461_445; storetmp.156_466 = D.1462_446; *nswe_430(D) = D.1462_446; D.1463_447 = D.1465_453; D.1464_448 = D.1463_447 + 1; *ncat_431(D) = D.1464_448; D.1466_451 = nlast_26 + lasp_21; (*inat_192(D))[D.1463_447] = D.1466_451; D.1465_453 is never initialized. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32663