On Wed, Jun 27, 2012 at 10:40 AM, Zhenqiang Chen <zhenqiang.c...@arm.com> wrote: > Hi, > > In general, invariant motion itself can not reduce code size. But it will > change the liverange of the invariant, which might lead to more spilling.
This may be true for ARM but it's not true in general. Sometimes loop-invariant address arithmetic, that is not exposed in GIMPLE, is profitable to hoist out of the loop. See e.g. PR41026 (for which I still have a patch in the queue). If this goes in anyway, please mention PR39837 in your ChangeLog entry. Ciao! Steven