On 07/17/2014 08:23 AM, Jan Hubicka wrote:
Given my experience about numbers of functions that become reachable when you stream all virtuals into LTO, I wonder if we don't want to use possible_polymorphic_call_targets within the front-end to avoid instantiating those that can't be called?
Yes, I think we need to do that. I'll look into it.
I think it should not be too hard - all we need is to populate the type inheritance graph from FE and then for each polymorphic call produce the list to mark possible targets are reachable.
Hmm, do you think it's reasonable to call build_type_inheritance_graph from the FE? The FE doesn't currently track all types derived from a particular base.
Jason