[rfc] stack alignment macro cleanup
Richard Henderson
rth@redhat.com
Sat Oct 2 20:01:00 GMT 2010
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~
More information about the Gcc
mailing list