GCC Middle and Back End API Reference
ana::equiv_class Class Reference

#include <constraint-manager.h>

Collaboration diagram for ana::equiv_class:

Public Member Functions

 equiv_class ()
 
 equiv_class (const equiv_class &other)
 
hashval_t hash () const
 
bool operator== (const equiv_class &other)
 
void add (const svalue *sval)
 
bool del (const svalue *sval)
 
tree get_any_constant () const
 
const svalueget_representative () const
 
void canonicalize ()
 
void print (pretty_printer *pp) const
 
std::unique_ptr< json::objectto_json () const
 
std::unique_ptr< text_art::tree_widget > make_dump_widget (const text_art::dump_widget_info &dwi, unsigned id) const
 
bool contains_non_constant_p () const
 

Data Fields

tree m_constant
 
const svaluem_cst_sval
 
auto_vec< const svalue * > m_vars
 

Detailed Description

An equivalence class within a constraint manager: a set of
svalues that are known to all be equal to each other,
together with an optional tree constant that they are equal to.   

Constructor & Destructor Documentation

◆ equiv_class() [1/2]

ana::equiv_class::equiv_class ( )

◆ equiv_class() [2/2]

ana::equiv_class::equiv_class ( const equiv_class & other)

Member Function Documentation

◆ add()

void ana::equiv_class::add ( const svalue * sval)

◆ canonicalize()

void ana::equiv_class::canonicalize ( )

◆ contains_non_constant_p()

bool ana::equiv_class::contains_non_constant_p ( ) const

◆ del()

bool ana::equiv_class::del ( const svalue * sval)

◆ get_any_constant()

tree ana::equiv_class::get_any_constant ( ) const
inline

References m_constant.

◆ get_representative()

const svalue * ana::equiv_class::get_representative ( ) const

◆ hash()

hashval_t ana::equiv_class::hash ( ) const

◆ make_dump_widget()

std::unique_ptr< text_art::tree_widget > ana::equiv_class::make_dump_widget ( const text_art::dump_widget_info & dwi,
unsigned id ) const

◆ operator==()

bool ana::equiv_class::operator== ( const equiv_class & other)

◆ print()

void ana::equiv_class::print ( pretty_printer * pp) const

◆ to_json()

std::unique_ptr< json::object > ana::equiv_class::to_json ( ) const

Field Documentation

◆ m_constant

tree ana::equiv_class::m_constant

Referenced by get_any_constant().

◆ m_cst_sval

const svalue* ana::equiv_class::m_cst_sval

◆ m_vars

auto_vec<const svalue *> ana::equiv_class::m_vars

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