On 06/16/2015 07:05 PM, Steve Ellcey  wrote:

I have a question about the DRAP register (used for dynamic stack alignment)
and about reserving/using hard registers in general.  I am trying to understand
where, if a drap register is allocated, GCC is told not to use it during
general register allocation.  There must be some code somewhere for this
but I cannot find it.

There isn't. Because the vDRAP register is a pseudo. The DRAP register is only live from somewhere in the middle of the prologue to the end of the prologue.

See ix86_get_drap_rtx, wherein we coordinate with the to-be-generated prologue (crtl->drap_reg), allocate the pseudo, and emit the hard-reg-to-pseudo copy at entry_of_function.


r~

Reply via email to