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 3/7]: Ping3: Merge from Stack Branch - DWARF2


>>> -	  gcc_assert (elim == (frame_pointer_needed ?
hard_frame_pointer_rtx
>>> -		      : stack_pointer_rtx));
>>> +	  gcc_assert (MAX_STACK_ALIGNMENT
>>> +	              || elim == (frame_pointer_needed ?
>>hard_frame_pointer_rtx
>>> +		                                       :
stack_pointer_rtx));
>>
>>I'd expect to be able to do better than this.  You're saying that if
the
>>target supports DRAP, we can eliminate to any register?  This seems at
>>odds with the earlier code that assumes that the DRAP register will
>>always be FP.
>>
>Joey, please add your comments here. 
Jason, Basically this code is saying frame pointer can be eliminated to
either hard_fp or stack pointer, if target supports *stack realignment*.


The earlier code checks flag stack_realign_fp to find out how the FP was
eliminated. But after Richard's comments, we reused stack_realign_fp
after reload so we can no longer check it. MAX_STACK_ALIGNMENT is a
looser assertion.

Thanks - Joey

-----Original Message-----
From: Guo, Xuepeng 
Sent: Monday, June 02, 2008 2:13 PM
To: Jason Merrill
Cc: gcc-patches@gcc.gnu.org; Richard Guenther; Lu, Hongjiu; Guo,
Xuepeng; Jan Hubicka; Ye, Joey
Subject: Re: [PATCH 3/7]: Ping3: Merge from Stack Branch - DWARF2

Hello Jason,
Thanks very much for your review. Because this dwarf2 patch is strongly
related to other parts of stack realignment, so I will explain some code
through examples. Here are my comments, please review them.
Thanks.
Xuepeng Guo


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