http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50904

Eric Botcazou <ebotcazou at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |ebotcazou at gcc dot
                   |                            |gnu.org

--- Comment #6 from Eric Botcazou <ebotcazou at gcc dot gnu.org> 2011-11-01 
13:52:48 UTC ---
> I don't see why RTL invariant motion should move the one variant but not
> the other.  Of course this also shows that we should, after loop unrolling
> on the tree level, also perform loop invariant motion again ...

The problem seems to be in RTL PRE, which hoists simple loads but not loads
that are wrapped up in a PLUS or a MINUS.  Even with -fprotect-parens, load
hoisting opportunities are lost because of this.

Reply via email to