GCC Middle and Back End API Reference
|
#include <value-range-storage.h>
Public Member Functions | |
void | set_irange (const irange &r) |
void | get_irange (irange &r, tree type) const |
bool | equal_p (const irange &r) const |
bool | fits_p (const irange &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 irange_storage * | alloc (vrange_internal_alloc &, const irange &) |
static vrange_storage * | alloc (vrange_internal_alloc &, const vrange &) |
Private Member Functions | |
DISABLE_COPY_AND_ASSIGN (irange_storage) | |
const unsigned short * | lengths_address () const |
unsigned short * | write_lengths_address () |
irange_storage (const irange &r) | |
Static Private Member Functions | |
static size_t | size (const irange &r) |
Private Attributes | |
unsigned short | m_precision |
const unsigned char | m_max_ranges |
unsigned char | m_num_ranges |
enum value_range_kind | m_kind: 3 |
HOST_WIDE_INT | m_val [1] |
|
private |
References m_max_ranges, m_num_ranges, r, and set_irange().
Referenced by size().
|
static |
References vrange_internal_alloc::alloc(), r, and size().
Referenced by vrange_storage::alloc(), vrange_allocator::clone_undefined(), and vrange_allocator::clone_varying().
|
staticinherited |
References frange_storage::alloc(), alloc(), prange_storage::alloc(), as_a(), is_a< frange >(), is_a< irange >(), is_a< prange >(), NULL, and r.
Referenced by vrange_allocator::clone().
|
private |
void irange_storage::dump | ( | ) | const |
References HOST_WIDE_INT_PRINT_DEC, i, lengths_address(), m_num_ranges, m_precision, and m_val.
References get_irange(), m_kind, r, irange::type(), VR_UNDEFINED, and VR_VARYING.
Referenced by vrange_storage::equal_p().
References as_a(), frange_storage::equal_p(), equal_p(), prange_storage::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 m_max_ranges, and r.
Referenced by vrange_storage::fits_p(), set_irange(), and vrange_storage::set_vrange().
References as_a(), frange_storage::fits_p(), fits_p(), prange_storage::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().
References gcc_checking_assert, i, lengths_address(), m_kind, m_num_ranges, m_precision, m_val, r, read_wide_int(), type(), TYPE_PRECISION, VR_RANGE, VR_UNDEFINED, and VR_VARYING.
Referenced by equal_p(), and vrange_storage::get_vrange().
References as_a(), gcc_unreachable, frange_storage::get_frange(), get_irange(), prange_storage::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().
|
private |
References write_lengths_address().
Referenced by dump(), and get_irange().
void irange_storage::set_irange | ( | const irange & | r | ) |
References fits_p(), gcc_checking_assert, i, m_kind, m_num_ranges, m_precision, m_val, irange_bitmask::mask(), r, TYPE_PRECISION, irange_bitmask::value(), VR_RANGE, VR_UNDEFINED, VR_VARYING, write_lengths_address(), and write_wide_int().
Referenced by irange_storage(), and vrange_storage::set_vrange().
|
inherited |
References as_a(), frange_storage::fits_p(), fits_p(), prange_storage::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(), set_irange(), prange_storage::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().
|
staticprivate |
References irange_storage(), r, TYPE_PRECISION, and WIDE_INT_MAX_HWIS.
Referenced by alloc().
|
private |
References m_num_ranges, m_precision, m_val, and WIDE_INT_MAX_HWIS.
Referenced by lengths_address(), and set_irange().
|
private |
Referenced by equal_p(), get_irange(), and set_irange().
|
private |
Referenced by fits_p(), and irange_storage().
|
private |
Referenced by dump(), get_irange(), irange_storage(), set_irange(), and write_lengths_address().
|
private |
Referenced by dump(), get_irange(), set_irange(), and write_lengths_address().
|
private |
Referenced by dump(), get_irange(), set_irange(), and write_lengths_address().