GCC Middle and Back End API Reference
cgraph_indirect_call_info Struct Reference

#include <cgraph.h>

Data Fields

HOST_WIDE_INT offset
HOST_WIDE_INT otr_token
tree otr_type
int param_index
int ecf_flags
int common_target_id
int common_target_probability
unsigned polymorphic: 1
unsigned agg_contents: 1
unsigned member_ptr: 1
unsigned by_ref: 1

Detailed Description

   Structure containing additional information about an indirect call.  

Field Documentation

unsigned cgraph_indirect_call_info::agg_contents
     Set when the call is a call of a pointer loaded from contents of an
     aggregate at offset.  

Referenced by ipa_find_agg_cst_for_param(), safe_add(), and try_make_edge_direct_virtual_call().

unsigned cgraph_indirect_call_info::by_ref
     When the previous bit is set, this one determines whether the destination
     is loaded from a parameter passed by reference. 

Referenced by ipa_find_agg_cst_for_param().

int cgraph_indirect_call_info::common_target_id
     Profile_id of common target obtrained from profile.  
int cgraph_indirect_call_info::common_target_probability
     Probability that call will land in function with COMMON_TARGET_ID.  
int cgraph_indirect_call_info::ecf_flags
     ECF flags determined from the caller.  

Referenced by cgraph_clone_edge(), and cgraph_for_node_and_aliases().

unsigned cgraph_indirect_call_info::member_ptr
     Set when this is a call through a member pointer.  
HOST_WIDE_INT cgraph_indirect_call_info::offset
     When polymorphic is set, this field contains offset where the object which
     was actually used in the polymorphic resides within a larger structure.
     If agg_contents is set, the field contains the offset within the aggregate
     from which the address to call was loaded.  

Referenced by ipa_find_agg_cst_for_param().

HOST_WIDE_INT cgraph_indirect_call_info::otr_token
     OBJ_TYPE_REF_TOKEN of a polymorphic call (if polymorphic is set).  

Referenced by dump_possible_polymorphic_call_targets().

tree cgraph_indirect_call_info::otr_type
     Type of the object from OBJ_TYPE_REF_OBJECT. 

Referenced by dump_possible_polymorphic_call_targets().

int cgraph_indirect_call_info::param_index
unsigned cgraph_indirect_call_info::polymorphic
     Set when the call is a virtual call with the parameter being the
     associated object pointer rather than a simple direct call.  

Referenced by possible_polymorphic_call_target_p(), and safe_add().


The documentation for this struct was generated from the following file: