http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50698
Richard Guenther <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |alias, missed-optimization Status|UNCONFIRMED |ASSIGNED Last reconfirmed| |2011-10-12 AssignedTo|unassigned at gcc dot |rguenth at gcc dot gnu.org |gnu.org | Ever Confirmed|0 |1 --- Comment #1 from Richard Guenther <rguenth at gcc dot gnu.org> 2011-10-12 11:31:56 UTC --- Confirmed: 14: versioning for alias required: can't determine dependence between *D.2220_26 and *D.2221_25 14: mark for run-time aliasing test between *D.2220_26 and *D.2221_25 D.2222_24 = D.2223_23 * 4; D.2221_25 = &mem + D.2222_24; D.2220_26 = &MEM[(void *)&mem + 4096B] + D.2222_24; ... = *D.2220_26; *D.2221_25 = ...; (res = {(float *) &MEM[(void *)&mem + 4096B], +, 4}_1)) base_address: &MEM[(void *)&mem + 4096B] offset from base address: 0 constant offset from base address: 0 step: 4 aligned to: 128 base_object: *(float *) &MEM[(void *)&mem + 4096B] Access function 0: {0B, +, 4}_1 vs. (res = {(float *) &mem, +, 4}_1)) base_address: &mem offset from base address: 0 constant offset from base address: 0 step: 4 aligned to: 128 base_object: *(float *) &mem Access function 0: {0B, +, 4}_1 I will have a look.