Actually, I was thinking about the case "g(a(), b());".
Let's imagine the gimplified code (because of your change) looks like:

t1 = a();
t2 = b();
g(t1, t2);

Are we always sure that t1 and t2 will not be pushed again in the CALL_EXPR by further transformations?

No, and that's a good thing.  What you _would_ be sure of is
that the generated code will behave *as-if* a() is executed
before b().


Segher

Reply via email to