Hi,
this patch moves all code dealing with polymorphic_call_context to
ipa-polymorphic-call.c in hope that things are more manageable this way.
This code contains most of the magic of analyzing GIMPLE and determining
contextes.
ipa-devirt.c still contains several essentially independent things - t
Hi,
this patch makes polymorphic call targets cache more effective. With more
aggresive
speculation the code now run into a problem that it have many different
speculative
lists. Those are typically sort in number of calls speculatively considered
likely
but they do have long list of unlikely
Hi,
this patch (finally) moves polymorphic call contextes into indirect call info
solving ugly clash in between OFFSET used by IPA_PROP (where it is offset
within aggregate passed by the pointer) and OFFSET used by ipa-devirt (where it
is offset within the type of instance).
The patch aslo moves i
Hi,
this patch applies more TLC to ipa-devirt. It refactors code for easier
manipulation with polymorphic_call_context and also makes
restrict_to_inner_type to correctly consider caes where placement new can
happen as well as cases where derived type is considered. This makes it
possible to decla
Hi,
this patch wraps ipa_polymorphic_call_context into a C++ class. There are no
functional changes.
I am heading to restructure the code in a way so call contextes can be used in
forward propagation
and replace current ipa-cp BINFO walk. The goal is to split
get_polymorphic_call_info in a way