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 ARM]: Fix more -mapcs-frame failures


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


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