GCC Middle and Back End API Reference
prange_storage Class Reference

#include <value-range-storage.h>

Inheritance diagram for prange_storage:
Collaboration diagram for prange_storage:

Public Member Functions

void set_prange (const prange &r)
void get_prange (prange &r, tree type) const
bool equal_p (const prange &r) const
bool fits_p (const prange &r) const
void dump () const
void get_vrange (vrange &r, tree type) const
void set_vrange (const vrange &r)
bool fits_p (const vrange &r) const
bool equal_p (const vrange &r) const

Static Public Member Functions

static prange_storagealloc (vrange_internal_alloc &, const prange &, bool shared_p=true)
static vrange_storagealloc (vrange_internal_alloc &, const vrange &, bool shared_p=true)

Data Fields

enum value_range_discriminator m_discriminator: 4

Private Member Functions

 DISABLE_COPY_AND_ASSIGN (prange_storage)
 prange_storage (const prange &r)
wide_int get_word (unsigned i, tree) const
template<typename T>
void set_word (unsigned i, const T &x, tree)

Static Private Member Functions

static enum prange_kind prange_format (const prange &r, unsigned &num_words)

Private Attributes

enum prange_kind m_kind
bool m_has_bitmask
bool m_points_to_p
tree m_pt
trailing_wide_ints< PRANGE_STORAGE_NINTSm_trailing_ints

Friends

void gt_ggc_mx_vrange_storage (void *)
void gt_pch_nx_vrange_storage (void *)
void gt_pch_p_14vrange_storage (void *, void *, gt_pointer_operator, void *)

Constructor & Destructor Documentation

◆ prange_storage()

Member Function Documentation

◆ alloc() [1/2]

◆ alloc() [2/2]

vrange_storage * vrange_storage::alloc ( vrange_internal_alloc & allocator,
const vrange & r,
bool shared_p = true )
staticinherited

◆ DISABLE_COPY_AND_ASSIGN()

prange_storage::DISABLE_COPY_AND_ASSIGN ( prange_storage )
private

References prange_storage(), and r.

◆ dump()

void prange_storage::dump ( ) const

◆ equal_p() [1/2]

◆ equal_p() [2/2]

bool vrange_storage::equal_p ( const vrange & r) const
inherited

◆ fits_p() [1/2]

bool prange_storage::fits_p ( const prange & r) const

References m_trailing_ints, prange_format(), and r.

◆ fits_p() [2/2]

◆ get_prange()

◆ get_vrange()

◆ get_word()

wide_int prange_storage::get_word ( unsigned i,
tree  ) const
inlineprivate

References i, and m_trailing_ints.

Referenced by equal_p(), and get_prange().

◆ prange_format()

enum prange_kind prange_storage::prange_format ( const prange & r,
unsigned & num_words )
staticprivate

◆ set_prange()

◆ set_vrange()

◆ set_word()

template<typename T>
void prange_storage::set_word ( unsigned i,
const T & x,
tree  )
inlineprivate

References i, m_trailing_ints, and T.

Referenced by set_prange().

◆ gt_ggc_mx_vrange_storage

void gt_ggc_mx_vrange_storage ( void * )
friend

◆ gt_pch_nx_vrange_storage

void gt_pch_nx_vrange_storage ( void * )
friend

◆ gt_pch_p_14vrange_storage

void gt_pch_p_14vrange_storage ( void * ,
void * ,
gt_pointer_operator ,
void *  )
friend

References prange_storage(), and r.

Field Documentation

◆ m_discriminator

enum value_range_discriminator vrange_storage::m_discriminator
inherited

Referenced by vrange_storage().

◆ m_has_bitmask

bool prange_storage::m_has_bitmask
private

Referenced by equal_p(), get_prange(), and set_prange().

◆ m_kind

enum prange_kind prange_storage::m_kind
private

Referenced by equal_p(), get_prange(), and set_prange().

◆ m_points_to_p

bool prange_storage::m_points_to_p
private

Referenced by equal_p(), get_prange(), and set_prange().

◆ m_pt

tree prange_storage::m_pt
private

Referenced by alloc(), equal_p(), get_prange(), and set_prange().

◆ m_trailing_ints

trailing_wide_ints<PRANGE_STORAGE_NINTS> prange_storage::m_trailing_ints
private

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