On 03/24/2014 06:23 AM, Michael Matz wrote:
> I can't say why we have the !PUSH_ARGS_REVERSED path (so I guess that's 
> the way that initially was there, before the distinction was made), but 
> the PUSH_ARGS_REVERSED==1 path is important when you have push 
> instructions and arguments grow in the opposite direction of the stack.  
> The latter is the case for almost all targets, so as soon as you have push 
> instructions (and no ACCUMULATE_OUTGOING_ARGS) you'll want to have 
> PUSH_ARGS_REVERSED==1 as well.
> 
> I guess the !PUSH_ARGS_REVERSED path only has advantages for the few 
> targets where stack and args grow the same way and that use push 
> instructions for argument passing, which currently are none.  pa-64 does 
> have same-direction arguments and stack (both upward), but doesn't use 
> push, and the only other ARGS_GROW_DOWNWARD (pa-32bit and stormy16) also 
> have !STACK_GROWS_DOWNWARD, so again opposite direction.
> 

See

  http://en.wikipedia.org/wiki/X86_calling_conventions#pascal

Since we don't actually support this anymore, we can certainly tidy this up.


r~

Reply via email to