[PATCH] AAPCS-VFP: Do not use any more VFP registers after allocating a CPRC to the stack

James Molloy James.Molloy at arm.com
Fri Feb 7 02:52:26 PST 2014


Hi Oliver,

Thanks. The updated patch and reasoning LGTM.

Cheers,

James

From: Oliver Stannard
Sent: 07 February 2014 10:51
To: 'Renato Golin'; James Molloy
Cc: LLVM Commits
Subject: RE: [PATCH] AAPCS-VFP: Do not use any more VFP registers after allocating a CPRC to the stack

For the first line, the AAPCS states that all registers must be shadowed ("The NCRN is set to r4" in AAPCS terminology). I cannot think of any case where the original version would cause incorrect behaviour, but I'm not certain, and the modified version more explicitly reflects the intent of the AAPCS.

As for the second line, again I cannot think of a case in which the original version is incorrect, but it more explicitly reflects the AAPCS rule that no GPRs should be used after a non-CPRC argument has been allocated on the stack.

I have attached an updated patch which fixed the typo and alignment error.

I will mention the change to the GPR shadowing in the commit message.

Oliver

From: Renato Golin [mailto:renato.golin at linaro.org]
Sent: 07 February 2014 10:19
To: James Molloy
Cc: Oliver Stannard; LLVM Commits
Subject: Re: [PATCH] AAPCS-VFP: Do not use any more VFP registers after allocating a CPRC to the stack

On 7 February 2014 10:08, James Molloy <james.molloy at arm.com<mailto:james.molloy at arm.com>> wrote:
The first line did shadow just R3 but now shadows all registers. I suspect that actually this was a bug, which you have now fixed incidentally? Your patch description only mentions coprocessor registers so can you just confirm this is deliberate?

The second line has changed behaviour - previously in the i32 case no registers were shadowed - now R0-R3 are shadowed. Why is this correct? (not saying it's not, but some justification would be good).

I assumed both cases were the same "fix" that weren't mentioned in the commit message (and that's why I was unsure of the "fix").

If that's correct, I agree would be good to have a mention in the commit message. ;)

cheers,
--renato

-- IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you.

ARM Limited, Registered office 110 Fulbourn Road, Cambridge CB1 9NJ, Registered in England & Wales, Company No: 2557590
ARM Holdings plc, Registered office 110 Fulbourn Road, Cambridge CB1 9NJ, Registered in England & Wales, Company No: 2548782
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20140207/fc573e75/attachment.html>


More information about the llvm-commits mailing list