This is the mail archive of the
mailing list for the GCC project.
Re: [trans-mem] cgraph edges vs function cloning
On 07/28/2009 10:44 AM, Richard Henderson wrote:
I guess I'll poke at cleaning this up today. I've got to
familiarize myself with how virtual clones work...
The virtual clones that ipa-cp makes seems to be easy.
My thought here is that since (virtual) clones don't
have actual bodies (and when they acquire bodies they
cease to be clones), then there's no reason for them
to have callee edges at all. If you want the list of
callees for a clone, you look at node->clone_of->callees.
In this way, when we materialize a clone, we don't have
to go looking for (and updating) edges, we just create
them as we copy the statements.
What I don't understand is how the inliner uses clones.
Can you explain this?