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: Wrong code: missing input reload


On 06/01/2011 05:35 PM, Georg-Johann Lay wrote:

> The reason for why a subreg of hardreg is there during reload is that
> on avr, r29:r28 is the frame pointer (word_mode is QI and Pmode is
> HI). Because in many places of the compiler, there are tests like "if
> (regno == FRAME_POINTER_REGNUM)", the high byte of the frame pointer
> gets garbaged.

Maybe it would help for your port to define a separate
FRAME_POINTER_REGNUM, able to hold an HImode value, which then gets
eliminated to HARD_FRAME_POINTER_REGNUM? This mechanism is used on many
other ports if you need examples.


Bernd


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