On Thu, Sep 26, 2013 at 03:54:19PM +0200, Richard Biener wrote: > > After much thinking I settled on removing the restriction from > forwprop that avoids propagating non-invariant addresses into > loops. As forwprop is mainly seen as a way to canonicalize the IL > and simplify it for further passes this seems like the correct thing > to do. LIM and IVOPTs should undo any harm this causes, otherwise > I'll find another way to fix the fallout.
But, aren't some forwprop passes run after LIM and IVOPTs, so while LIM and IVOPTs undo that harm, forwprop4 pass adds it there again? I guess it is just fine to remove the restriction for forwprop{1,2,3}, but for forwprop4 I'm not that sure. You are then hoping RTL optimizations will undo the harm, but if they don't, ... Jakub