More than you ever wanted to know about Fortran array indexing;-)
Toon Moene
toon@moene.indiv.nluug.nl
Thu Oct 9 15:14:00 GMT 1997
Jeff wrote:
> On a somewhat related note, as I've mentioned, with my
> patch to handle more complex givs (aka the USE patch) I
> generally get worse code on my PA. I _believe_ this is
> due to loop not realizing that many givs are related and
> due to the giv cost/benefit analysis not handling more
> complicated givs.
Pah, it probably means the PA is broken as an architecture :-) -
I've tried it on machines as far apart as DEC Alpha and Motorola
m68k - all Fortran code I throw at it gets compiled to better code
*with* your `USE' patch; certainly all others (with possibly the x86
as the sole exception) must fall between these extremes ...
Oh, BTW, making combine_givs_p accept all possible candidate givs
for combining does not result in much improvement, because the
return value of this function is but one of the (half a dozen)
conditions that have to be fulfilled before giv G2 can be combined
with giv G1 (see the routine combine_givs, i.e. without `_p').
Obviously, this could work correctly if every giv could have a
_list_ of other givs that could be combined with it, and
combine_givs computed the transitive closure of the
G2-combines-with-G1 relation (checking, in the mean time, that the
computational relationship remained a valid addressing mode).
But that requires `some' more work ;-)
Cheers,
Toon.
More information about the Gcc
mailing list