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] |
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.
Attachment:
d.txt
Description: Text document
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |