This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Question about DRAP register and reserving hard registers


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~


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]