GCC Middle and Back End API Reference
ana::model_merger Struct Reference

#include <region-model.h>

Collaboration diagram for ana::model_merger:

Public Member Functions

 model_merger (const region_model *model_a, const region_model *model_b, const program_point &point, region_model *merged_model, const extrinsic_state *ext_state, const program_state *state_a, const program_state *state_b)
 
void dump_to_pp (pretty_printer *pp, bool simple) const
 
void dump (FILE *fp, bool simple) const
 
void dump (bool simple) const
 
region_model_managerget_manager () const
 
bool mergeable_svalue_p (const svalue *) const
 
const function_pointget_function_point () const
 
void on_widening_reuse (const widening_svalue *widening_sval)
 

Data Fields

const region_modelm_model_a
 
const region_modelm_model_b
 
const program_pointm_point
 
region_modelm_merged_model
 
const extrinsic_statem_ext_state
 
const program_statem_state_a
 
const program_statem_state_b
 
hash_set< const svalue * > m_svals_changing_meaning
 

Detailed Description

A bundle of data for use when attempting to merge two region_model
instances to make a third.   

Constructor & Destructor Documentation

◆ model_merger()

ana::model_merger::model_merger ( const region_model * model_a,
const region_model * model_b,
const program_point & point,
region_model * merged_model,
const extrinsic_state * ext_state,
const program_state * state_a,
const program_state * state_b )
inline

Member Function Documentation

◆ dump() [1/2]

void ana::model_merger::dump ( bool simple) const

◆ dump() [2/2]

void ana::model_merger::dump ( FILE * fp,
bool simple ) const

◆ dump_to_pp()

void ana::model_merger::dump_to_pp ( pretty_printer * pp,
bool simple ) const

◆ get_function_point()

const function_point & ana::model_merger::get_function_point ( ) const
inline

◆ get_manager()

region_model_manager * ana::model_merger::get_manager ( ) const
inline

◆ mergeable_svalue_p()

bool ana::model_merger::mergeable_svalue_p ( const svalue * ) const

◆ on_widening_reuse()

void ana::model_merger::on_widening_reuse ( const widening_svalue * widening_sval)

Field Documentation

◆ m_ext_state

const extrinsic_state* ana::model_merger::m_ext_state

◆ m_merged_model

region_model* ana::model_merger::m_merged_model

◆ m_model_a

const region_model* ana::model_merger::m_model_a

Referenced by get_manager().

◆ m_model_b

const region_model* ana::model_merger::m_model_b

◆ m_point

const program_point& ana::model_merger::m_point

Referenced by get_function_point().

◆ m_state_a

const program_state* ana::model_merger::m_state_a

◆ m_state_b

const program_state* ana::model_merger::m_state_b

◆ m_svals_changing_meaning

hash_set<const svalue *> ana::model_merger::m_svals_changing_meaning

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