On 09/27/2012 12:38 PM, Walter Bright wrote:
On 9/26/2012 5:04 AM, Timon Gehr wrote:
Why should the calling convention have an impact on code
semantics?
Maximizing performance.
Optimisations by definition do not have an impact on code semantics.
The code reads LTR, therefore evaluation should consistently be LTR.
The best order is the one that generates the fewest temporaries, and
that's the order that should be defined for D.
The number of temporaries is not affected by the order of
evaluation. Just push the arguments on the stack out-of-order.
Furthermore, the 'natural' order of C argument evaluation differs
between architectures, making the entire point moot.