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

#include <analyzer.h>

Collaboration diagram for ana::region_offset:

Public Member Functions

 region_offset ()
 
const regionget_base_region () const
 
bool concrete_p () const
 
bool symbolic_p () const
 
bit_offset_t get_bit_offset () const
 
bool get_concrete_byte_offset (byte_offset_t *out) const
 
const svalueget_symbolic_byte_offset () const
 
const svaluecalc_symbolic_bit_offset (region_model_manager *mgr) const
 
const svaluecalc_symbolic_byte_offset (region_model_manager *mgr) const
 
bool operator== (const region_offset &other) const
 
void dump_to_pp (pretty_printer *pp, bool) const
 
void dump (bool) const
 

Static Public Member Functions

static region_offset make_concrete (const region *base_region, bit_offset_t offset)
 
static region_offset make_symbolic (const region *base_region, const svalue *sym_offset)
 
static region_offset make_byte_offset (const region *base_region, const svalue *num_bytes_sval)
 

Private Member Functions

 region_offset (const region *base_region, bit_offset_t offset, const svalue *sym_offset)
 

Private Attributes

const regionm_base_region
 
bit_offset_t m_offset
 
const svaluem_sym_offset
 

Detailed Description

The location of a region expressesd as an offset relative to a
base region.   

Constructor & Destructor Documentation

◆ region_offset() [1/2]

ana::region_offset::region_offset ( )
inline

Referenced by make_concrete(), and make_symbolic().

◆ region_offset() [2/2]

ana::region_offset::region_offset ( const region * base_region,
bit_offset_t offset,
const svalue * sym_offset )
inlineprivate

Member Function Documentation

◆ calc_symbolic_bit_offset()

const svalue & ana::region_offset::calc_symbolic_bit_offset ( region_model_manager * mgr) const

◆ calc_symbolic_byte_offset()

const svalue * ana::region_offset::calc_symbolic_byte_offset ( region_model_manager * mgr) const

◆ concrete_p()

bool ana::region_offset::concrete_p ( ) const
inline

References m_sym_offset, and NULL.

Referenced by ana::access_range::concrete_p().

◆ dump()

void ana::region_offset::dump ( bool ) const

◆ dump_to_pp()

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

◆ get_base_region()

const region * ana::region_offset::get_base_region ( ) const
inline

References m_base_region.

◆ get_bit_offset()

bit_offset_t ana::region_offset::get_bit_offset ( ) const
inline

◆ get_concrete_byte_offset()

bool ana::region_offset::get_concrete_byte_offset ( byte_offset_t * out) const
inline

◆ get_symbolic_byte_offset()

const svalue * ana::region_offset::get_symbolic_byte_offset ( ) const
inline

◆ make_byte_offset()

static region_offset ana::region_offset::make_byte_offset ( const region * base_region,
const svalue * num_bytes_sval )
static

◆ make_concrete()

static region_offset ana::region_offset::make_concrete ( const region * base_region,
bit_offset_t offset )
inlinestatic

References ggc_alloc(), NULL, offset, and region_offset().

◆ make_symbolic()

static region_offset ana::region_offset::make_symbolic ( const region * base_region,
const svalue * sym_offset )
inlinestatic

References ggc_alloc(), and region_offset().

◆ operator==()

bool ana::region_offset::operator== ( const region_offset & other) const
inline

References m_base_region, m_offset, and m_sym_offset.

◆ symbolic_p()

bool ana::region_offset::symbolic_p ( ) const
inline

Field Documentation

◆ m_base_region

const region* ana::region_offset::m_base_region
private

Referenced by get_base_region(), and operator==().

◆ m_offset

bit_offset_t ana::region_offset::m_offset
private

◆ m_sym_offset

const svalue* ana::region_offset::m_sym_offset
private

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