GCC Middle and Back End API Reference
|
#include <value-range-storage.h>
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_storage * | alloc (vrange_internal_alloc &, const prange &) |
static vrange_storage * | alloc (vrange_internal_alloc &, const vrange &) |
Private Member Functions | |
DISABLE_COPY_AND_ASSIGN (prange_storage) | |
prange_storage (const prange &r) | |
wide_int | get_low () const |
wide_int | get_high () const |
wide_int | get_value () const |
wide_int | get_mask () const |
template<typename T > | |
void | set_low (const T &x) |
template<typename T > | |
void | set_high (const T &x) |
template<typename T > | |
void | set_value (const T &x) |
template<typename T > | |
void | set_mask (const T &x) |
Private Attributes | |
enum value_range_kind | m_kind: 3 |
trailing_wide_ints< NINTS > | m_trailing_ints |
Static Private Attributes | |
static const unsigned int | NINTS = 4 |
|
private |
References m_trailing_ints, r, set_prange(), trailing_wide_ints< N >::set_precision(), and TYPE_PRECISION.
Referenced by alloc().
|
static |
References vrange_internal_alloc::alloc(), trailing_wide_ints< N >::extra_size(), prange_storage(), r, and TYPE_PRECISION.
Referenced by vrange_storage::alloc(), vrange_allocator::clone_undefined(), and vrange_allocator::clone_varying().
|
staticinherited |
References frange_storage::alloc(), irange_storage::alloc(), alloc(), as_a(), is_a< frange >(), is_a< irange >(), is_a< prange >(), NULL, and r.
Referenced by vrange_allocator::clone().
|
private |
void prange_storage::dump | ( | ) | const |
References get_prange(), m_kind, r, prange::type(), and VR_UNDEFINED.
Referenced by vrange_storage::equal_p().
References as_a(), frange_storage::equal_p(), irange_storage::equal_p(), equal_p(), gcc_unreachable, is_a< frange >(), is_a< irange >(), is_a< prange >(), and r.
Referenced by ipa_vr::equal_p(), and ipa_vr::equal_p().
References trailing_wide_ints< N >::get_precision(), m_trailing_ints, r, and TYPE_PRECISION.
Referenced by vrange_storage::fits_p(), and vrange_storage::set_vrange().
References as_a(), frange_storage::fits_p(), irange_storage::fits_p(), fits_p(), gcc_unreachable, is_a< frange >(), is_a< irange >(), is_a< prange >(), and r.
Referenced by infer_range_manager::add_range(), ssa_cache::merge_range(), range_info_fits_p(), ssa_cache::set_range(), and ipa_vr::streamer_read().
|
inlineprivate |
References m_trailing_ints.
Referenced by get_prange().
|
inlineprivate |
References m_trailing_ints.
Referenced by get_prange().
|
inlineprivate |
References m_trailing_ints.
Referenced by get_prange().
References gcc_checking_assert, get_high(), get_low(), get_mask(), trailing_wide_ints< N >::get_precision(), get_value(), m_kind, m_trailing_ints, r, type(), TYPE_PRECISION, VR_RANGE, VR_UNDEFINED, and VR_VARYING.
Referenced by equal_p(), and vrange_storage::get_vrange().
|
inlineprivate |
References m_trailing_ints.
Referenced by get_prange().
References as_a(), gcc_unreachable, frange_storage::get_frange(), irange_storage::get_irange(), get_prange(), is_a< frange >(), is_a< irange >(), is_a< prange >(), and r.
Referenced by infer_range_manager::add_range(), ipa_vr::dump(), sbr_sparse_bitmap::get_bb_range(), sbr_vector::get_bb_range(), ssa_cache::get_range(), get_ssa_name_range_info(), ipa_vr::get_vrange(), infer_range_manager::maybe_adjust_range(), ssa_cache::merge_range(), vrange_storage::set_vrange(), ipa_vr::streamer_write(), and gimple_outgoing_range::switch_edge_range().
References m_trailing_ints.
Referenced by set_prange().
References m_trailing_ints.
Referenced by set_prange().
References m_trailing_ints.
Referenced by set_prange().
void prange_storage::set_prange | ( | const prange & | r | ) |
References m_kind, irange_bitmask::mask(), r, set_high(), set_low(), set_mask(), set_value(), irange_bitmask::value(), VR_RANGE, VR_UNDEFINED, and VR_VARYING.
Referenced by prange_storage(), and vrange_storage::set_vrange().
References m_trailing_ints.
Referenced by set_prange().
|
inherited |
References as_a(), frange_storage::fits_p(), irange_storage::fits_p(), fits_p(), gcc_checking_assert, gcc_unreachable, vrange_storage::get_vrange(), is_a< frange >(), is_a< irange >(), is_a< prange >(), r, frange_storage::set_frange(), irange_storage::set_irange(), set_prange(), and value_range::type().
Referenced by infer_range_manager::add_range(), ssa_cache::merge_range(), ssa_cache::set_range(), and ipa_vr::streamer_read().
|
private |
Referenced by equal_p(), get_prange(), and set_prange().
|
private |
Referenced by fits_p(), get_high(), get_low(), get_mask(), get_prange(), get_value(), prange_storage(), set_high(), set_low(), set_mask(), and set_value().
|
staticprivate |