On 12/05/14 17:16, Segher Boessenkool wrote:
On Fri, Dec 05, 2014 at 03:31:54PM -0700, Jeff Law wrote:
Combine does not consider combining 9 into 7 because there is no LOG_LINK
between them (the link for r88 is between 8 and 7 already).
OK, yea, that's a long standing design decision.  We don't feed a single
def into multiple use sites.

There is no real reason not to do that.  It doesn't increase computational
complexity, although it is of course more expensive than what combine does
today (it is more work, after all).  And combining with a later use does
not have too big a chance to succeed (since it has to keep the result of
the earlier insn around always).
No fundamental reason, it's just always been that way. One could argue that a bridge pattern often makes this unnecessary and bridges have been a well known way to work around combine's failings for a long time.

GCC 6 or later ;-)
Yea, I think so :)

jeff

Reply via email to