GCC Middle and Back End API Reference
range-op-ptr.cc File Reference
#include "config.h"
#include "system.h"
#include "coretypes.h"
#include "backend.h"
#include "insn-codes.h"
#include "rtl.h"
#include "tree.h"
#include "gimple.h"
#include "cfghooks.h"
#include "tree-pass.h"
#include "ssa.h"
#include "optabs-tree.h"
#include "gimple-pretty-print.h"
#include "diagnostic-core.h"
#include "flags.h"
#include "fold-const.h"
#include "stor-layout.h"
#include "calls.h"
#include "cfganal.h"
#include "gimple-iterator.h"
#include "gimple-fold.h"
#include "tree-eh.h"
#include "gimple-walk.h"
#include "tree-cfg.h"
#include "wide-int.h"
#include "value-relation.h"
#include "range-op.h"
#include "tree-ssa-ccp.h"
#include "range-op-mixed.h"
Include dependency graph for range-op-ptr.cc:

Data Structures

class  pointer_plus_operator
 
class  pointer_min_max_operator
 
class  pointer_and_operator
 
class  pointer_or_operator
 
class  operator_pointer_diff
 
class  hybrid_and_operator
 
class  hybrid_or_operator
 
class  hybrid_min_operator
 
class  hybrid_max_operator
 

Functions

static wide_int max_limit (const_tree type)
 
static wide_int min_limit (const_tree type)
 
static void build_lt (prange &r, tree type, const prange &val)
 
static void build_le (prange &r, tree type, const prange &val)
 
static void build_gt (prange &r, tree type, const prange &val)
 
static void build_ge (prange &r, tree type, const prange &val)
 

Variables

pointer_plus_operator op_pointer_plus
 
pointer_min_max_operator op_ptr_min_max
 
pointer_and_operator op_pointer_and
 
pointer_or_operator op_pointer_or
 
operator_pointer_diff op_pointer_diff
 
hybrid_and_operator op_hybrid_and
 
hybrid_or_operator op_hybrid_or
 
hybrid_min_operator op_hybrid_min
 
hybrid_max_operator op_hybrid_max
 

Function Documentation

◆ build_ge()

static void build_ge ( prange & r,
tree type,
const prange & val )
static

References prange::lower_bound(), max_limit(), and r.

◆ build_gt()

static void build_gt ( prange & r,
tree type,
const prange & val )
static

◆ build_le()

static void build_le ( prange & r,
tree type,
const prange & val )
static

References min_limit(), r, and prange::upper_bound().

◆ build_lt()

static void build_lt ( prange & r,
tree type,
const prange & val )
static

◆ max_limit()

static wide_int max_limit ( const_tree type)
inlinestatic

References wi::max_value(), TYPE_PRECISION, and TYPE_SIGN.

Referenced by build_ge().

◆ min_limit()

static wide_int min_limit ( const_tree type)
inlinestatic

References wi::min_value(), TYPE_PRECISION, and TYPE_SIGN.

Referenced by build_le().

Variable Documentation

◆ op_hybrid_and

hybrid_and_operator op_hybrid_and

◆ op_hybrid_max

hybrid_max_operator op_hybrid_max

◆ op_hybrid_min

hybrid_min_operator op_hybrid_min

◆ op_hybrid_or

hybrid_or_operator op_hybrid_or

◆ op_pointer_and

◆ op_pointer_diff

◆ op_pointer_or

◆ op_pointer_plus

◆ op_ptr_min_max