[PATCH 3/7]: Ping3: Merge from Stack Branch - DWARF2

H.J. Lu hjl.tools@gmail.com
Tue Jun 10 16:43:00 GMT 2008


On Mon, Jun 9, 2008 at 7:32 PM, Ye, Joey <joey.ye@intel.com> wrote:
> Jason wrote:
>>>>> -    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?
>>
>>> Jason, Basically this code is saying frame pointer can be eliminated
> to
>>> either hard_fp or stack pointer, if target supports *stack
> realignment*.
>>
>> That may be what you want to say, but that's not what it says...it
> says
>> if the target supports stack realignment, don't check what register
>> we're eliminating to.
> You are right. How about this:
> +         gcc_assert ( (MAX_STACK_ALIGNMENT &&
> +                               (elim == hard_frame_pointer_rtx || elim
> == stack_pointer_rtx))
> +                           || elim == (frame_pointer_needed ?
> hard_frame_pointer_rtx
> +                                                      :
> stack_pointer_rtx));
>

Hi,

I am checking this patch into stack branch.

Thanks.

H.J.
---
2008-06-10  Joey Ye  <joey.ye@intel.com>

	* dwarf2out.c (based_loc_descr): Assert eliminate arg or frame
	pointer with hard frame or stack pointer if stack alignment is
	supported.
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: d.txt
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20080610/9ddb21fa/attachment.txt>


More information about the Gcc-patches mailing list