This is the mail archive of the gcc@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: [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?


r~



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