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

#include <region-model.h>

Collaboration diagram for ana::region_to_value_map:

Public Types

typedef hash_map< const region *, const svalue * > hash_map_t
 
typedef hash_map_t::iterator iterator
 

Public Member Functions

 region_to_value_map ()
 
 region_to_value_map (const region_to_value_map &other)
 
region_to_value_mapoperator= (const region_to_value_map &other)
 
bool operator== (const region_to_value_map &other) const
 
bool operator!= (const region_to_value_map &other) const
 
iterator begin () const
 
iterator end () const
 
const svalue *const * get (const region *reg) const
 
void put (const region *reg, const svalue *sval)
 
void remove (const region *reg)
 
bool is_empty () const
 
void dump_to_pp (pretty_printer *pp, bool simple, bool multiline) const
 
void dump (bool simple) 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) const
 
bool can_merge_with_p (const region_to_value_map &other, region_to_value_map *out) const
 
void purge_state_involving (const svalue *sval)
 

Private Attributes

hash_map_t m_hash_map
 

Detailed Description

A mapping from region to svalue for use when tracking state.   

Member Typedef Documentation

◆ hash_map_t

◆ iterator

hash_map_t::iterator ana::region_to_value_map::iterator

Constructor & Destructor Documentation

◆ region_to_value_map() [1/2]

ana::region_to_value_map::region_to_value_map ( )
inline

◆ region_to_value_map() [2/2]

ana::region_to_value_map::region_to_value_map ( const region_to_value_map & other)
inline

Member Function Documentation

◆ begin()

iterator ana::region_to_value_map::begin ( ) const
inline

◆ can_merge_with_p()

bool ana::region_to_value_map::can_merge_with_p ( const region_to_value_map & other,
region_to_value_map * out ) const

◆ dump()

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

◆ dump_to_pp()

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

◆ end()

iterator ana::region_to_value_map::end ( ) const
inline

◆ get()

const svalue *const * ana::region_to_value_map::get ( const region * reg) const
inline

References get(), and m_hash_map.

Referenced by get().

◆ is_empty()

bool ana::region_to_value_map::is_empty ( ) const
inline

◆ make_dump_widget()

std::unique_ptr< text_art::tree_widget > ana::region_to_value_map::make_dump_widget ( const text_art::dump_widget_info & dwi) const

◆ operator!=()

bool ana::region_to_value_map::operator!= ( const region_to_value_map & other) const
inline

◆ operator=()

region_to_value_map & ana::region_to_value_map::operator= ( const region_to_value_map & other)

◆ operator==()

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

◆ purge_state_involving()

void ana::region_to_value_map::purge_state_involving ( const svalue * sval)

◆ put()

void ana::region_to_value_map::put ( const region * reg,
const svalue * sval )
inline

◆ remove()

void ana::region_to_value_map::remove ( const region * reg)
inline

◆ to_json()

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

Field Documentation

◆ m_hash_map

hash_map_t ana::region_to_value_map::m_hash_map
private

Referenced by begin(), end(), get(), is_empty(), put(), and remove().


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