This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH ARM]: Fix more -mapcs-frame failures
- From: Christian Bruel <christian dot bruel at st dot com>
- To: "ramrad01 at arm dot com" <ramrad01 at arm dot com>
- Cc: Ramana Radhakrishnan <ramana dot gcc at googlemail dot com>, "gcc-patches at gcc dot gnu dot org" <gcc-patches at gcc dot gnu dot org>
- Date: Fri, 7 Mar 2014 11:24:19 +0100
- Subject: Re: [PATCH ARM]: Fix more -mapcs-frame failures
- Authentication-results: sourceware.org; auth=none
- References: <530B0CB0 dot 8090201 at st dot com> <CAJA7tRaGN4sXeJE9Stt3UuM+Rtht3jwB2P=8WGoxe6GaL9+eAQ at mail dot gmail dot com>
Hi Ramana,
Thanks for your comments,
> Please respin using plus_constant instead of gen_addsi3.
Here is my feeling about this:
I experimented on using plus_constant instead of gen_addsi3. But there
are cases when the emitted code is not equivalent for large frames
(!const_ok_for_op (val, PLUS)) and leads to complications.
We could fix this case with a call to arm_split_constant (PLUS, Pmode,
NULL, amount, stack_pointer_rtx, stack_pointer_rtx, 0), but I'm not
sure we gain in clarity here. Also for consistency, the same interface
change would preferably be needed in the other parts of the arm.c file
(that I didn't modify) sharing the same sequence. For instance
"arm_expand_epilogue"
> Otherwise
> this looks good to me.
>
> Please repost updated patch and I will look at it again.
For the reasons expressed above it'd prefer to consider this new change
as a separate development with a new patch.
For the time being (considering only the original apcs issue) is it OK
to apply only the patch as it ? and validate a global
gen_addsi3/plus_constant interface review as a separate step ?
Many thanks,
Christian
>
> Ramana