http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60042
--- Comment #9 from Richard Biener <rguenth at gcc dot gnu.org> ---
PR23855 fixed we'd get for the analysis of the remaining DRs in the outermost
loop
for example for matrix A:
Creating dr for *_290
analyze_innermost: success.
base_address: pretmp_1792 + (sizetype) ((long unsigned int) pretmp_1974
* 4)
offset from base address: 0
constant offset from base address: 4
step: 4
aligned to: 128
base_object: *pretmp_1792 + (sizetype) ((long unsigned int)
(((pretmp_1831 + 1) * pretmp_1794 + 1) * pretmp_1796) * 4)
Access function 0: {{{4B, +, (sizetype) ((long unsigned int)
(pretmp_1794 * pretmp_1796) * 4)}_2, +, (sizetype) ((long unsigned int)
pretmp_1796 * 4)}_6, +, 4}_7
Creating dr for *_81
analyze_innermost: success.
base_address: pretmp_1792 + (sizetype) ((long unsigned int) pretmp_1915
* 4)
offset from base address: 0
constant offset from base address: 4
step: 4
aligned to: 128
base_object: *pretmp_1792 + (sizetype) ((long unsigned int)
(((pretmp_1804 + 1) * pretmp_1794 + 1) * pretmp_1796) * 4)
Access function 0: {{{4B, +, (sizetype) ((long unsigned int)
(pretmp_1794 * pretmp_1796) * 4)}_2, +, (sizetype) ((long unsigned int)
pretmp_1796 * 4)}_6, +, 4}_7
Creating dr for *_60
analyze_innermost: success.
base_address: pretmp_1792 + (sizetype) ((long unsigned int) pretmp_1902
* 4)
offset from base address: 0
constant offset from base address: 4
step: 4
aligned to: 128
base_object: *pretmp_1792 + (sizetype) ((long unsigned int)
(((pretmp_1801 + 1) * pretmp_1794 + 1) * pretmp_1796) * 4)
Access function 0: {{{4B, +, (sizetype) ((long unsigned int)
(pretmp_1794 * pretmp_1796) * 4)}_2, +, (sizetype) ((long unsigned int)
pretmp_1796 * 4)}_6, +, 4}_7
which still requires hard work to actually combine as the base objects still
differ (but the access function is equal).