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

◆ 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.

◆ 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

References m_vrange, and vrange::singleton_p().

◆ supports_type_p()

◆ type()

tree Value_Range::type ( )
inline

◆ ubound()

tree Value_Range::ubound ( ) const
inline

References m_vrange, and vrange::ubound().

◆ undefined_p()

◆ union_()

bool Value_Range::union_ ( const vrange & r)
inline

References m_vrange, r, and vrange::union_().

Referenced by ipcp_vr_lattice::meet_with_1().

◆ 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: