Displaying 5 results from an estimated 5 matches for "preserves_all".
Did you mean:
preserve_all
2016 Jul 13
6
IPRA, interprocedural register allocation, question
Vivek,
I apologize if you took my original email as a request for implementation,
I meant to be asking what is already available, I think the answer to that
is the ‘preserves_most’ and ‘preserves_all’ attributes, but I will also
Use ‘regmask’ if those prove to be too sub-optimal.
I am still interested in figuring out the necessary and sufficient conditions
For LLC to do optimal IPRA when given a “whole program”
(as per my previous definition of “whole program”),
As opposed to how to accomplish...
2016 Jul 12
2
IPRA, interprocedural register allocation, question
Mehdi,
In my mind at least, “whole program” means no dynamic libraries, so the only
external functions are simple runtime support, do you have a suggested term for that ?
--Peter.
From: mehdi.amini at apple.com [mailto:mehdi.amini at apple.com]
Sent: Tuesday, July 12, 2016 12:31 PM
To: Lawrence, Peter <c_plawre at qca.qualcomm.com>
Cc: vivek pandya <vivekvpandya at
2016 Jul 12
3
IPRA, interprocedural register allocation, question
...ling convention
By converting some scratch regs into save regs (for example because they aren’t even touched)
Then you are safe to call it from either the default calling convention or the
Optimized calling convention. This is the safe thing to do, and is why I will
Only use “preserves_most” and “preserves_all” optimized calling conventions,
As those will have been implemented by a back-end writer who is aware of
All these compilations (as opposed to the “registermask=” calling convention
Which is much less safe)
I do however feel that IPRA in the whole-program case should not be restricted to
Only scra...
2016 Jul 12
3
IPRA, interprocedural register allocation, question
...ling convention
By converting some scratch regs into save regs (for example because they aren’t even touched)
Then you are safe to call it from either the default calling convention or the
Optimized calling convention. This is the safe thing to do, and is why I will
Only use “preserves_most” and “preserves_all” optimized calling conventions,
As those will have been implemented by a back-end writer who is aware of
All these compilations (as opposed to the “registermask=” calling convention
Which is much less safe)
I do however feel that IPRA in the whole-program case should not be restricted to
Only scra...
2016 Jul 12
2
IPRA, interprocedural register allocation, question
Vivek,
Here’s the way I see it, let me know if you agree or disagree,
You cannot optimize a function’s calling convention (register-usage) unless
You can see and change every caller, and you only know this for non-static functions
if you know that all calls to external functions cannot call back into the current
compilation unit.
#1 gives you the info necessary to change the call-site