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

#include <store.h>

Inheritance diagram for ana::concrete_binding:
Collaboration diagram for ana::concrete_binding:

Public Types

typedef concrete_binding key_t
 

Public Member Functions

 concrete_binding (bit_offset_t start_bit_offset, bit_size_t size_in_bits)
 
bool concrete_p () const final override
 
hashval_t hash () const
 
bool operator== (const concrete_binding &other) const
 
void dump_to_pp (pretty_printer *pp, bool simple) const final override
 
const concrete_bindingdyn_cast_concrete_binding () const final override
 
const bit_rangeget_bit_range () const
 
bool get_byte_range (byte_range *out) const
 
bit_offset_t get_start_bit_offset () const
 
bit_size_t get_size_in_bits () const
 
bit_offset_t get_next_bit_offset () const
 
bool overlaps_p (const concrete_binding &other) const
 
void mark_deleted ()
 
void mark_empty ()
 
bool is_deleted () const
 
bool is_empty () const
 
bool symbolic_p () const
 
void dump (bool simple) const
 
label_text get_desc (bool simple=true) const
 
virtual const symbolic_bindingdyn_cast_symbolic_binding () const
 

Static Public Member Functions

static int cmp_ptr_ptr (const void *, const void *)
 
static const binding_keymake (store_manager *mgr, const region *r)
 
static int cmp_ptrs (const void *, const void *)
 
static int cmp (const binding_key *, const binding_key *)
 

Private Attributes

bit_range m_bit_range
 

Detailed Description

Concrete subclass of binding_key, for describing a non-empty
concrete range of bits within the binding_map (e.g. "bits 8-15").   

Member Typedef Documentation

◆ key_t

Constructor & Destructor Documentation

◆ concrete_binding()

ana::concrete_binding::concrete_binding ( bit_offset_t start_bit_offset,
bit_size_t size_in_bits )
inline

Member Function Documentation

◆ cmp()

static int ana::binding_key::cmp ( const binding_key * ,
const binding_key *  )
staticinherited

◆ cmp_ptr_ptr()

static int ana::concrete_binding::cmp_ptr_ptr ( const void * ,
const void *  )
static

◆ cmp_ptrs()

static int ana::binding_key::cmp_ptrs ( const void * ,
const void *  )
staticinherited

◆ concrete_p()

bool ana::concrete_binding::concrete_p ( ) const
inlinefinaloverridevirtual

Implements ana::binding_key.

◆ dump()

void ana::binding_key::dump ( bool simple) const
inherited

◆ dump_to_pp()

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

Implements ana::binding_key.

◆ dyn_cast_concrete_binding()

const concrete_binding * ana::concrete_binding::dyn_cast_concrete_binding ( ) const
inlinefinaloverridevirtual

Reimplemented from ana::binding_key.

◆ dyn_cast_symbolic_binding()

virtual const symbolic_binding * ana::binding_key::dyn_cast_symbolic_binding ( ) const
inlinevirtualinherited

Reimplemented in ana::symbolic_binding.

References NULL.

◆ get_bit_range()

const bit_range & ana::concrete_binding::get_bit_range ( ) const
inline

References m_bit_range.

◆ get_byte_range()

bool ana::concrete_binding::get_byte_range ( byte_range * out) const

◆ get_desc()

label_text ana::binding_key::get_desc ( bool simple = true) const
inherited

◆ get_next_bit_offset()

bit_offset_t ana::concrete_binding::get_next_bit_offset ( ) const
inline

◆ get_size_in_bits()

bit_size_t ana::concrete_binding::get_size_in_bits ( ) const
inline

◆ get_start_bit_offset()

bit_offset_t ana::concrete_binding::get_start_bit_offset ( ) const
inline

◆ hash()

hashval_t ana::concrete_binding::hash ( ) const
inline

◆ is_deleted()

bool ana::concrete_binding::is_deleted ( ) const
inline

◆ is_empty()

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

◆ make()

static const binding_key * ana::binding_key::make ( store_manager * mgr,
const region * r )
staticinherited

◆ mark_deleted()

void ana::concrete_binding::mark_deleted ( )
inline

◆ mark_empty()

void ana::concrete_binding::mark_empty ( )
inline

◆ operator==()

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

References m_bit_range.

◆ overlaps_p()

bool ana::concrete_binding::overlaps_p ( const concrete_binding & other) const

◆ symbolic_p()

bool ana::binding_key::symbolic_p ( ) const
inlineinherited

Field Documentation

◆ m_bit_range


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