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: Synthetic register related: consequences of changing Frame layout.


> In principle, you are correct.  The differences are small.  I believe that in 
> many instances, instructions accessing stack slots as spilled registers are 
> six bytes long, not three bytes long as for Synthetic registers.  I believe 
> that the compiler does not differentiate between spilled register stack slot 
> memory and any other kind of memory, and so generates unnecessary register 
> content motion between registers and stack slots, under the mistaken idea 
> that this is more efficient.  

This is completely wrong. Have you even looked at how code is currently
generated. Registers are spilled to the local stack frame, and of course
you get the normal 3-byte instructions to transfer to and from the spill
locations. There is too much general "I believe" guesswork in your approach
and not enough hard knowledge. I suggest that before you start hacking away
at the configuration file, you carefully examine actual generated code at
the machine level (gdb is quite nice for this).


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