GCC Middle and Back End API Reference
ipa_node_params Struct Reference

#include <ipa-prop.h>

Collaboration diagram for ipa_node_params:

Data Fields

vec< ipa_param_descriptor_tdescriptors
struct ipcp_param_latticeslattices
struct cgraph_nodeipcp_orig_node
vec< treeknown_vals
unsigned uses_analysis_done: 1
unsigned node_enqueued: 1
unsigned do_clone_for_all_contexts: 1
unsigned is_all_contexts_clone: 1
unsigned node_dead: 1

Detailed Description

ipa_node_params stores information related to formal parameters of functions and some other information for interprocedural passes that operate on parameters (such as ipa-cp).


Field Documentation

vec<ipa_param_descriptor_t> ipa_node_params::descriptors

Information about individual formal parameters that are gathered when summaries are generated.

Referenced by count_formal_params(), ipa_alloc_node_params(), ipa_edge_removal_hook(), ipa_get_param_decl_index_1(), and ipa_load_from_parm_agg().

unsigned ipa_node_params::do_clone_for_all_contexts

Whether we should create a specialized version based on values that are known to be constant in all contexts.

struct cgraph_node* ipa_node_params::ipcp_orig_node

Only for versioned nodes this field would not be NULL, it points to the node that IPA cp cloned from.

Referenced by copy_plats_to_inter(), and ipa_edge_removal_hook().

unsigned ipa_node_params::is_all_contexts_clone

Set if this is an IPA-CP clone for all contexts.

vec<tree> ipa_node_params::known_vals

If this node is an ipa-cp clone, these are the known values that describe what it has been specialized for.

Referenced by ipcp_discover_new_direct_edges().

struct ipcp_param_lattices* ipa_node_params::lattices

Pointer to an array of structures describing individual formal parameters.

Referenced by ipa_edge_removal_hook().

unsigned ipa_node_params::node_dead

Node has been completely replaced by clones and will be removed after ipa-cp is finished.

unsigned ipa_node_params::node_enqueued

Whether the function is enqueued in ipa-cp propagation stack.

Referenced by ipa_edge_removal_hook().

unsigned ipa_node_params::uses_analysis_done

Whether the param uses analysis has already been performed.

Referenced by ipa_edge_removal_hook().


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