Using MEM_EXPR inside a call expression

Richard Henderson rth@redhat.com
Tue Sep 1 20:46:00 GMT 2009


On 09/01/2009 12:48 PM, Adam Nemet wrote:
> I see.  So I guess you're saying that there is little chance to optimize the
> loop I had in my previous email ;(.

Not at the rtl level.  Gimple-level loop splitting should do it though.

> Now suppose we split late, shouldn't we still assume that data-flow can change
> later.  IOW, wouldn't we be required to use the literal/lituse counting that
> alpha does?

If you split post-reload, data flow isn't going to change
in any significant way.

> If yes then I guess it's still better to use MEM_EXPR.  MEM_EXPR also has the
> benefit that it does not deem indirect calls as different when cross-jumping
> compares the insns.  I don't know how important this is though.

It depends on how much benefit you get from the direct
branch.  On alpha it's quite a bit, so we work hard to
make sure that we can get one, if at all possible.


r~



More information about the Gcc mailing list