GCC Middle and Back End API Reference
ipcp_agg_lattice Struct Reference

#include <ipa-cp.h>

Inheritance diagram for ipcp_agg_lattice:
Collaboration diagram for ipcp_agg_lattice:

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_latticenext = nullptr
ipcp_value< tree > * values
int values_count
bool contains_variable
bool bottom

Detailed Description

Lattice of tree values with an offset to describe a part of an

Member Function Documentation

◆ add_value()

bool ipcp_lattice< tree >::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 )
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

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.   

◆ is_single_const()

bool ipcp_lattice< tree >::is_single_const ( )
Return whether LAT is a lattice with a single constant and without an
undefined value.   

◆ print()

void ipcp_lattice< tree >::print ( FILE * f,
bool dump_sources,
bool dump_benefits )
Print a lattice LAT to F.   

◆ set_contains_variable()

bool ipcp_lattice< tree >::set_contains_variable ( )
Mark lattice as containing an unknown value and return true if it previously
was not marked as such.   

◆ set_to_bottom()

bool ipcp_lattice< tree >::set_to_bottom ( )
Set lattice LAT to bottom and return true if it previously was not set as

Field Documentation

◆ bottom

bool ipcp_lattice< tree >::bottom

◆ contains_variable

bool ipcp_lattice< tree >::contains_variable

◆ next

◆ offset

◆ size

HOST_WIDE_INT ipcp_agg_lattice::size = 0

◆ values

ipcp_value<tree>* ipcp_lattice< tree >::values

◆ values_count

int ipcp_lattice< tree >::values_count

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