GCC Middle and Back End API Reference
value_range Class Reference

#include <value-range.h>

Collaboration diagram for value_range:

Data Structures

union  buffer_type
 

Public Member Functions

 value_range ()
 
 value_range (const vrange &r)
 
 value_range (tree type)
 
 value_range (tree, tree, value_range_kind kind=VR_RANGE)
 
 value_range (const value_range &)
 
 ~value_range ()
 
void set_type (tree type)
 
vrangeoperator= (const vrange &)
 
value_rangeoperator= (const value_range &)
 
bool operator== (const value_range &r) const
 
bool operator!= (const value_range &r) const
 
 operator vrange & ()
 
 operator const vrange & () const
 
void dump (FILE *) const
 
tree type ()
 
bool varying_p () const
 
bool undefined_p () const
 
void set_varying (tree type)
 
void set_undefined ()
 
bool union_ (const vrange &r)
 
bool intersect (const vrange &r)
 
bool contains_p (tree cst) const
 
bool singleton_p (tree *result=NULL) const
 
void set_zero (tree type)
 
void set_nonzero (tree type)
 
bool nonzero_p () const
 
bool zero_p () const
 
tree lbound () const
 
tree ubound () const
 
irange_bitmask get_bitmask () const
 
void update_bitmask (const class irange_bitmask &bm)
 
void accept (const vrange_visitor &v) const
 

Static Public Member Functions

static bool supports_type_p (const_tree type)
 

Private Member Functions

void init (tree type)
 
void init (const vrange &)
 

Private Attributes

vrangem_vrange
 
union value_range::buffer_type m_buffer
 

Constructor & Destructor Documentation

◆ value_range() [1/5]

value_range::value_range ( )
inline

References m_vrange, and NULL.

◆ value_range() [2/5]

value_range::value_range ( const vrange & r)
inline

References init(), and r.

◆ value_range() [3/5]

value_range::value_range ( tree type)
inline

References init().

◆ value_range() [4/5]

value_range::value_range ( tree min,
tree max,
value_range_kind kind = VR_RANGE )
inline

References init(), m_vrange, vrange::set(), and TREE_TYPE.

◆ value_range() [5/5]

value_range::value_range ( const value_range & r)
inline

References init(), and r.

◆ ~value_range()

value_range::~value_range ( )
inline

References m_vrange, and vrange::~vrange().

Member Function Documentation

◆ accept()

void value_range::accept ( const vrange_visitor & v) const
inline

References vrange::accept(), and m_vrange.

◆ contains_p()

bool value_range::contains_p ( tree cst) const
inline

References vrange::contains_p(), and m_vrange.

◆ dump()

◆ get_bitmask()

irange_bitmask value_range::get_bitmask ( ) const
inline

◆ init() [1/2]

◆ init() [2/2]

◆ intersect()

◆ lbound()

tree value_range::lbound ( ) const
inline

References vrange::lbound(), and m_vrange.

Referenced by record_nonwrapping_iv().

◆ nonzero_p()

bool value_range::nonzero_p ( ) const
inline

◆ operator const vrange &()

value_range::operator const vrange & ( ) const
inline

◆ operator vrange &()

value_range::operator vrange & ( )
inline

◆ operator!=()

bool value_range::operator!= ( const value_range & r) const
inline

References m_vrange, and r.

◆ operator=() [1/2]

value_range & value_range::operator= ( const value_range & r)
inline

References r.

◆ operator=() [2/2]

vrange & value_range::operator= ( const vrange & r)
inline

References init(), m_vrange, r, and vrange::~vrange().

◆ operator==()

bool value_range::operator== ( const value_range & r) const
inline

References m_vrange, and r.

◆ set_nonzero()

void value_range::set_nonzero ( tree type)
inline

◆ set_type()

◆ set_undefined()

void value_range::set_undefined ( )
inline

◆ set_varying()

◆ set_zero()

void value_range::set_zero ( tree type)
inline

References m_vrange, and vrange::set_zero().

◆ singleton_p()

bool value_range::singleton_p ( tree * result = NULL) const
inline

◆ supports_type_p()

◆ type()

◆ ubound()

tree value_range::ubound ( ) const
inline

References m_vrange, and vrange::ubound().

Referenced by record_nonwrapping_iv().

◆ undefined_p()

◆ union_()

◆ update_bitmask()

void value_range::update_bitmask ( const class irange_bitmask & bm)
inline

◆ varying_p()

◆ zero_p()

bool value_range::zero_p ( ) const
inline

Field Documentation

◆ m_buffer

union value_range::buffer_type value_range::m_buffer
private

Referenced by init(), and init().

◆ m_vrange


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