This is the mail archive of the gcc-patches@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: [PATCH i386] Move CLOBBERED_REGS earlier in register class list


> On 32-bit x86, register class CLOBBERED_REGS is a proper subset of
> LEGACY_REGS, which causes IRA not to consider it separately for register
> allocation, even when it has lower cost than other classes.  This patch is
> useful to fix code generation problem that appears with no-PLT PIC tailcalls.
> 
> Was there a specific reason for CLOBBERED_REGS class to be listed as late as
> it is?  On 32-bit this class contains only EAX, ECX, EDX.

Uros moved CLOBBERED_REGS late in 
https://gcc.gnu.org/ml/gcc-patches/2012-08/msg00796.html
which contains a rationale, too.

I am adding Uros and Vladimir to CC just in case they missed the email :)
Honza
> 
> OK?
> 	* config/i386/i386.h (enum reg_class): Move CLOBBERED_REGS before Q_REGS.
> 	(REG_CLASS_NAMES): Ditto.
> 	(REG_CLASS_CONTENTS): Ditto.
> 


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