GCC Middle and Back End API Reference
|
#include <ipa-cp.h>
Public Member Functions | |
bool | is_single_const () |
bool | set_to_bottom () |
bool | set_contains_variable () |
bool | add_value (tree newval, cgraph_edge *cs, ipcp_value< tree > *src_val=NULL, int src_idx=0, HOST_WIDE_INT offset=-1, ipcp_value< tree > **val_p=NULL, unsigned same_lat_gen_level=0) |
void | print (FILE *f, bool dump_sources, bool dump_benefits) |
Data Fields | |
HOST_WIDE_INT | offset = 0 |
HOST_WIDE_INT | size = 0 |
struct ipcp_agg_lattice * | next = nullptr |
ipcp_value< tree > * | values |
int | values_count |
bool | contains_variable |
bool | bottom |
Lattice of tree values with an offset to describe a part of an aggregate.
|
inherited |
Try to add NEWVAL to LAT, potentially creating a new ipcp_value for it. CS, SRC_VAL SRC_INDEX and OFFSET are meant for add_source and have the same meaning. OFFSET -1 means the source is scalar and not a part of an aggregate. If non-NULL, VAL_P records address of existing or newly added ipcp_value. If the value is generated for a self-recursive call as a result of an arithmetic pass-through jump-function acting on a value in the same lattice, SAME_LAT_GEN_LEVEL must be the length of such chain, otherwise it must be zero. If it is non-zero, PARAM_IPA_CP_VALUE_LIST_SIZE limit is ignored.
|
inlineinherited |
Return whether LAT is a lattice with a single constant and without an undefined value.
|
inherited |
Print a lattice LAT to F.
|
inlineinherited |
Mark lattice as containing an unknown value and return true if it previously was not marked as such.
|
inlineinherited |
Set lattice LAT to bottom and return true if it previously was not set as such.
|
inherited |
|
inherited |
struct ipcp_agg_lattice* ipcp_agg_lattice::next = nullptr |
Referenced by add_all_node_vals_to_toposort(), cgraph_edge_brings_value_p(), decide_whether_version_node(), estimate_local_effects(), ipa_agg_value_from_jfunc(), merge_agg_lats_step(), merge_aggregate_lattices(), print_all_lattices(), propagate_aggregate_lattice(), propagate_aggs_across_jump_function(), push_agg_values_from_plats(), and set_chain_of_aglats_contains_variable().
HOST_WIDE_INT ipcp_agg_lattice::offset = 0 |
HOST_WIDE_INT ipcp_agg_lattice::size = 0 |
Referenced by merge_agg_lats_step(), and propagate_aggregate_lattice().
|
inherited |
|
inherited |