Currently we have STACK_BOUNDARY -- minimum alignment enforced by hardware.
PREFERRED_STACK_BOUNDARY -- a preserved alignment greater than what the hw enforces (defaults to STACK_BOUNDARY) INCOMING_STACK_BOUNDARY -- an alignment provided by callers on function entry. (defaults to PREFERRED_STACK_BOUNDARY) MIN_STACK_BOUNDARY (undocumented; local to i386 atm) -- appears to be the ABI specified stack boundary, i.e. the minimum that must be in place at a call site. This somehow differs from I_S_B due to proliferation of command-line options. MAX_STACK_ALIGNMENT -- biggest stack alignment guaranteed by the backend. (defaults to STACK_BOUNDARY, @c sez ought to be P_S_B) MAX_SUPPORTED_STACK_ALIGNMENT (undocumented; defined solely by defaults.h) -- the same as M_S_A, but with the P_S_B default. I would like to reduce this to STACK_BOUNDARY -- unchanged INCOMING_STACK_BOUNDARY -- default to S_B; x86 backend drops MIN_S_B. MAX_STACK_BOUNDARY -- default to I_S_B. and delete many of the x86 backend options that fiddle stuff that users ought not be fiddling. Like forcing the use of DRAP register. Thoughts? r~