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 alloc(), DISABLE_COPY_AND_ASSIGN(), lengths_address(), and size().
|
static |
References vrange_internal_alloc::alloc(), irange_storage(), r, and size().
Referenced by vrange_storage::alloc(), vrange_allocator::clone_undefined(), and vrange_allocator::clone_varying().
|
staticinherited |
References frange_storage::alloc(), irange_storage::alloc(), prange_storage::alloc(), as_a(), is_a< frange >(), is_a< irange >(), is_a< prange >(), NULL, and r.
Referenced by vrange_allocator::clone().
|
private |
References irange_storage(), and r.
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, VR_UNDEFINED, and VR_VARYING.
References as_a(), gcc_unreachable, is_a< frange >(), is_a< irange >(), is_a< prange >(), and r.
References m_max_ranges, and r.
Referenced by set_irange().
References as_a(), 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(), and ssa_cache::set_range().
References gcc_checking_assert, i, lengths_address(), m_kind, m_num_ranges, m_precision, m_val, r, read_wide_int(), TYPE_PRECISION, VR_RANGE, VR_UNDEFINED, and VR_VARYING.
Referenced by equal_p().
References as_a(), gcc_unreachable, is_a< frange >(), is_a< irange >(), is_a< prange >(), and r.
Referenced by infer_range_manager::add_range(), sbr_vector::get_bb_range(), ssa_cache::get_range(), get_ssa_name_range_info(), infer_range_manager::maybe_adjust_range(), ssa_cache::merge_range(), and set_vrange().
|
private |
References irange_storage(), and 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().
|
inherited |
References as_a(), gcc_checking_assert, gcc_unreachable, get_vrange(), is_a< frange >(), is_a< irange >(), is_a< prange >(), and r.
Referenced by infer_range_manager::add_range(), ssa_cache::merge_range(), and ssa_cache::set_range().
|
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().