GCC Middle and Back End API Reference
value-range.cc File Reference
#include "config.h"
#include "system.h"
#include "coretypes.h"
#include "backend.h"
#include "tree.h"
#include "gimple.h"
#include "ssa.h"
#include "tree-pretty-print.h"
#include "value-range-pretty-print.h"
#include "fold-const.h"
#include "gimple-range.h"
Include dependency graph for value-range.cc:

Namespaces

namespace  inchash
 

Macros

#define DEFINE_INT_RANGE_INSTANCE(N)
 

Functions

DEBUG_FUNCTION void debug (const Value_Range &r)
 
DEBUG_FUNCTION void debug (const irange_bitmask &bm)
 
void inchash::add_vrange (const vrange &v, inchash::hash &hstate, unsigned int)
 
value_range_kind get_legacy_range (const irange &r, tree &min, tree &max)
 
static wide_int subtract_one (const wide_int &x, tree type, wi::overflow_type &overflow)
 
static wide_int add_one (const wide_int &x, tree type, wi::overflow_type &overflow)
 
void dump_value_range (FILE *file, const vrange *vr)
 
DEBUG_FUNCTION void debug (const vrange *vr)
 
DEBUG_FUNCTION void debug (const vrange &vr)
 
DEBUG_FUNCTION void debug (const value_range *vr)
 
DEBUG_FUNCTION void debug (const value_range &vr)
 
bool vrp_operand_equal_p (const_tree val1, const_tree val2)
 
void gt_ggc_mx (irange *x)
 
void gt_pch_nx (irange *x)
 
void gt_pch_nx (irange *x, gt_pointer_operator op, void *cookie)
 
void gt_ggc_mx (frange *x)
 
void gt_pch_nx (frange *x)
 
void gt_pch_nx (frange *x, gt_pointer_operator op, void *cookie)
 
void gt_ggc_mx (vrange *x)
 
void gt_pch_nx (vrange *x)
 
void gt_pch_nx (vrange *x, gt_pointer_operator op, void *cookie)
 

Macro Definition Documentation

◆ DEFINE_INT_RANGE_INSTANCE

#define DEFINE_INT_RANGE_INSTANCE ( N)
Value:
const wide_int &, \
const wide_int &, \
template int_range<N>::int_range(const irange &); \
template int_range<N>::int_range(const int_range &); \
Definition value-range.h:377
int_range()
Definition value-range.h:1016
int_range & operator=(const int_range &)
Definition value-range.h:1059
Definition value-range.h:276
union tree_node * tree
Definition coretypes.h:97
T * ggc_alloc(ALONE_CXX_MEM_STAT_INFO)
Definition ggc.h:184
value_range_kind
Definition value-range.h:29

Function Documentation

◆ add_one()

static wide_int add_one ( const wide_int & x,
tree type,
wi::overflow_type & overflow )
inlinestatic

◆ debug() [1/6]

◆ debug() [2/6]

References ggc_alloc(), and r.

◆ debug() [3/6]

◆ debug() [4/6]

◆ debug() [5/6]

References debug.

◆ debug() [6/6]

◆ dump_value_range()

void dump_value_range ( FILE * file,
const vrange * vr )

References vrange::dump().

Referenced by debug(), debug(), and debug().

◆ get_legacy_range()

◆ gt_ggc_mx() [1/3]

void gt_ggc_mx ( frange * x)

◆ gt_ggc_mx() [2/3]

void gt_ggc_mx ( irange * x)

Referenced by gt_ggc_mx().

◆ gt_ggc_mx() [3/3]

void gt_ggc_mx ( vrange * x)

◆ gt_pch_nx() [1/6]

void gt_pch_nx ( frange * x)

◆ gt_pch_nx() [2/6]

void gt_pch_nx ( frange * x,
gt_pointer_operator op,
void * cookie )

◆ gt_pch_nx() [3/6]

void gt_pch_nx ( irange * x)

Referenced by gt_pch_nx(), and gt_pch_nx().

◆ gt_pch_nx() [4/6]

void gt_pch_nx ( irange * x,
gt_pointer_operator op,
void * cookie )

◆ gt_pch_nx() [5/6]

void gt_pch_nx ( vrange * x)

◆ gt_pch_nx() [6/6]

◆ subtract_one()

static wide_int subtract_one ( const wide_int & x,
tree type,
wi::overflow_type & overflow )
inlinestatic

◆ vrp_operand_equal_p()

bool vrp_operand_equal_p ( const_tree val1,
const_tree val2 )
Return true, if VAL1 and VAL2 are equal values for VRP purposes.   

References ggc_alloc(), and operand_equal_p().

Referenced by ipa_predicate::add_clause(), add_condition(), adjust_pointer_diff_expr(), and expr_eval_ops_equal_p().