On 01/25/2016 08:51 PM, Jeff Law wrote:
No, the combiner works within a basic block only.  There was a group, I
believe in Moscow, that worked on a cross-block combiner.  It was
discussed at the Cauldron in California a few years back.  I don't know
if they did any further work on those ideas.

Is the issue here not knowing when the loop invariant can be forward
propagated back into the memory reference -- and for complex RTL like
you cited, you ultimately determine that no it can't be propagated and
thus increase its invariant cost?

Is this just a pass ordering problem? What happens if you do loop-invariant after combine?


Bernd

Reply via email to