>>>>> 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