>>>>> Mark Mitchell writes:

Mark> My understanding is we might be able to remove just the
Mark> problematic part (or segregate that into a separate option) -- but that
Mark> problematic part is the 177.swim bit, so that's an issue.

        Well, yes and no.  The 177.swim bit is loop interchange and that
part should be solid.  However, loop interchange requires a perfect loop
nest.  Other optimization improvements (included in GCC 4.1) allow enough
statement motion to destroy the perfect loop nest.  GCC has become too
effective at other optimizations for loop interchange to trigger in
177.swim without additional loop transformations.

        It is my understanding that the less robust piece of
tree-loop-linear is a quick and dirty loop distribution transformation to
create a perfect loop nest.  The code was suppose to be conservative, but
apparantly it is not conservative enough.

David

Reply via email to