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~