GCC Middle and Back End API 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 |
Structure containing additional information about an indirect call.
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 |
Index of the parameter that is called.
Referenced by safe_add(), set_agg_lats_contain_variable(), try_decrement_rdesc_refcount(), try_make_edge_direct_simple_call(), and try_make_edge_direct_virtual_call().
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().