Loop stride optimization hint

Jan Hubicka hubicka@ucw.cz
Wed Sep 12 22:21:00 GMT 2012


> > 
> >   loop iterations:(op0[ref offset: 192] changed || op0[ref offset: 256] changed || op0[ref offset: 224] changed) && (op0[ref offset: 96] changed || op0[ref offset: 160] changed || op0[ref offset: 128] changed)

Looking at the testcase, loop stride is (op0[ref offset: 384] changed) && (op0[ref offset: 192] changed)

that is more trackable ;)  The problem with iterations is simply that they
verify that ubound,hbound and stride is known.

Also the individual loops are combined by and_predicates.  We hint when one of
loops become to have known stride or iterations. We lose track then and do not
hint for further loops on subsequent inlining.  I am not sure how important it
is - for fortran I guess the first inlining matter the most.

Honza



More information about the Gcc-patches mailing list