GCC Middle and Back End API Reference
Value_Range Class Reference

#include <value-range.h>

Collaboration diagram for Value_Range:

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 &)
 
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
 
wide_int lower_bound () const
 
wide_int upper_bound () const
 
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)
 

Private Attributes

unsupported_range m_unsupported
 
vrangem_vrange
 
int_range_max m_irange
 
frange m_frange
 

Constructor & Destructor Documentation

◆ Value_Range() [1/5]

Value_Range::Value_Range ( )
inline

References m_unsupported, and m_vrange.

◆ Value_Range() [2/5]

Value_Range::Value_Range ( const vrange & r)
inline

References 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 r.

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()

◆ init()

◆ intersect()

◆ lower_bound()

wide_int Value_Range::lower_bound ( ) const

◆ 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

◆ operator=() [2/2]

◆ 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 init(), 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

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

◆ upper_bound()

wide_int Value_Range::upper_bound ( ) const

◆ varying_p()

◆ zero_p()

bool Value_Range::zero_p ( ) const
inline

Field Documentation

◆ m_frange

frange Value_Range::m_frange
private

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

◆ m_irange

int_range_max Value_Range::m_irange
private

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

◆ m_unsupported

unsupported_range Value_Range::m_unsupported
private

◆ m_vrange


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