http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55334
Jakub Jelinek <jakub at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |jakub at gcc dot gnu.org --- Comment #6 from Jakub Jelinek <jakub at gcc dot gnu.org> 2012-11-16 12:05:44 UTC --- Restrict is one thing, not figuring out that disjoint accesses to the same array don't overlap is another (i.e. the #c5 testcase). Cast restrict is hard to do reliably, as the referenced PR documents, while figuring out that say Creating dr for *_7 analyze_innermost: success. base_address: &mem offset from base address: 0 constant offset from base address: 4096 step: 4 aligned to: 128 base_object: *(const float *) &mem Access function 0: {4096B, +, 4}_1 and Creating dr for *_6 analyze_innermost: success. base_address: &mem offset from base address: 0 constant offset from base address: 0 step: 4 aligned to: 128 base_object: MEM[(float *)&mem] Access function 0: {0B, +, 4}_1 for 1024 iterations would be really nice.