22#ifndef GCC_RANGE_OP_MIXED_H
23#define GCC_RANGE_OP_MIXED_H
146 const irange &)
const final override;
148 const prange &)
const final override;
150 const frange &)
const final override;
152 const irange &rh)
const final override;
197 const irange &)
const final override;
199 const prange &)
const final override;
201 const frange &)
const final override;
203 const irange &rh)
const final override;
245 const irange &)
const final override;
247 const prange &)
const final override;
249 const frange &)
const final override;
251 const irange &rh)
const final override;
296 const irange &)
const final override;
298 const prange &)
const final override;
300 const frange &)
const final override;
302 const irange &rh)
const final override;
346 const irange &)
const final override;
348 const prange &)
const final override;
350 const frange &)
const final override;
352 const irange &rh)
const final override;
397 const irange &)
const final override;
399 const prange &)
const final override;
401 const frange &)
const final override;
403 const irange &rh)
const final override;
521 const irange &rh)
const final override;
525 const irange &outer)
const;
527 const irange &outer)
const;
564 const irange &)
const final override;
600 const irange &rh)
const final override;
610 const wide_int &rh_ub)
const final override;
633 const irange &rh)
const final override;
640 const wide_int &rh_ub)
const final override;
673 const irange &)
const final override;
679 const irange &rh)
const final override;
689 const wide_int &rh_ub)
const final override;
756 const irange &rh)
const final override;
760 const wide_int &rh_ub)
const final override;
762 const wide_int &w1)
const final override;
808 const irange &rh)
const final override;
836 const irange &rh)
const override;
843 const wide_int &rh_ub)
const override;
878 const irange &rh)
const override;
885 const wide_int &rh_ub)
const override;
911 const irange &rh)
const final override;
918 const wide_int &rh_ub)
const final override;
943 const irange &rh)
const override;
950 const wide_int &rh_ub)
const override;
971 const irange &rh)
const override;
978 const wide_int &rh_ub)
const override;
Definition range-op-mixed.h:721
void wi_cross_product(irange &r, tree type, const wide_int &lh_lb, const wide_int &lh_ub, const wide_int &rh_lb, const wide_int &rh_ub) const
Definition range-op.cc:2277
virtual bool wi_op_overflows(wide_int &r, tree type, const wide_int &, const wide_int &) const =0
Definition value-range.h:603
Definition value-range.h:291
Definition range-op-mixed.h:618
void update_bitmask(irange &r, const irange &lh, const irange &rh) const final override
Definition range-op.cc:4990
bool fold_range(frange &r, tree type, const frange &op1, const frange &, relation_trio=TRIO_VARYING) const final override
Definition range-op-float.cc:1566
bool operand_check_p(tree t1, tree t2, tree) const final override
Definition range-op-mixed.h:635
bool op1_range(irange &r, tree type, const irange &lhs, const irange &op2, relation_trio) const final override
Definition range-op.cc:4958
void wi_fold(irange &r, tree type, const wide_int &lh_lb, const wide_int &lh_ub, const wide_int &rh_lb, const wide_int &rh_ub) const final override
Definition range-op.cc:4884
Definition range-op-mixed.h:780
bool fold_range(irange &r, tree type, const irange &op1, const irange &op2, relation_trio rel=TRIO_VARYING) const final override
Definition range-op.cc:5078
bool op1_range(irange &r, tree type, const irange &lhs, const irange &op2, relation_trio rel=TRIO_VARYING) const final override
Definition range-op.cc:5097
Definition range-op-mixed.h:815
void update_bitmask(irange &r, const irange &lh, const irange &rh) const override
Definition range-op.cc:3596
bool op2_range(irange &r, tree type, const irange &lhs, const irange &op1, relation_trio rel=TRIO_VARYING) const override
Definition range-op.cc:4050
bool op1_range(irange &r, tree type, const irange &lhs, const irange &op2, relation_trio rel=TRIO_VARYING) const override
Definition range-op.cc:3984
bool operand_check_p(tree t1, tree t2, tree t3) const final override
Definition range-op-mixed.h:838
bool fold_range(prange &r, tree type, const prange &op1, const prange &op2, relation_trio) const final override
Definition range-op-ptr.cc:873
relation_kind lhs_op1_relation(const irange &lhs, const irange &op1, const irange &op2, relation_kind) const override
Definition range-op.cc:3628
void wi_fold(irange &r, tree type, const wide_int &lh_lb, const wide_int &lh_ub, const wide_int &rh_lb, const wide_int &rh_ub) const override
Definition range-op.cc:3784
void simple_op1_range_solver(irange &r, tree type, const irange &lhs, const irange &op2) const
Definition range-op.cc:3905
Definition range-op-mixed.h:796
bool fold_range(irange &r, tree type, const irange &lh, const irange &rh, relation_trio rel=TRIO_VARYING) const final override
Definition range-op.cc:4776
bool operand_check_p(tree t1, tree t2, tree t3) const final override
Definition range-op-mixed.h:810
bool op1_range(irange &r, tree type, const irange &lhs, const irange &op2, relation_trio rel=TRIO_VARYING) const final override
Definition range-op.cc:4794
void update_bitmask(irange &r, const irange &lh, const irange &rh) const final override
Definition range-op.cc:4809
Definition range-op-mixed.h:850
bool op2_range(irange &r, tree type, const irange &lhs, const irange &op1, relation_trio rel=TRIO_VARYING) const override
Definition range-op.cc:4275
bool op1_op2_relation_effect(irange &lhs_range, tree type, const irange &op1_range, const irange &op2_range, relation_kind rel) const final override
Definition range-op.cc:4216
bool fold_range(prange &r, tree type, const prange &op1, const prange &op2, relation_trio) const final override
Definition range-op-ptr.cc:448
bool op1_range(irange &r, tree type, const irange &lhs, const irange &op2, relation_trio rel=TRIO_VARYING) const override
Definition range-op.cc:4241
void update_bitmask(irange &r, const irange &lh, const irange &rh) const override
Definition range-op.cc:4138
relation_kind lhs_op1_relation(const irange &lhs, const irange &op1, const irange &op2, relation_kind) const final override
Definition range-op.cc:4203
bool operand_check_p(tree t1, tree t2, tree t3) const final override
Definition range-op-mixed.h:880
void wi_fold(irange &r, tree type, const wide_int &lh_lb, const wide_int &lh_ub, const wide_int &rh_lb, const wide_int &rh_ub) const override
Definition range-op.cc:4145
Definition range-op-mixed.h:889
bool op1_op2_relation_effect(irange &lhs_range, tree type, const irange &op1_range, const irange &op2_range, relation_kind rel) const final override
Definition range-op.cc:4414
void update_bitmask(irange &r, const irange &lh, const irange &rh) const final override
Definition range-op.cc:4284
class operator_bitwise_or m_or
Definition range-op-mixed.h:920
class operator_bitwise_and m_and
Definition range-op-mixed.h:919
bool op1_range(irange &r, tree type, const irange &lhs, const irange &op2, relation_trio rel=TRIO_VARYING) const final override
Definition range-op.cc:4442
bool operand_check_p(tree t1, tree t2, tree t3) const final override
Definition range-op-mixed.h:913
void wi_fold(irange &r, tree type, const wide_int &lh_lb, const wide_int &lh_ub, const wide_int &rh_lb, const wide_int &rh_ub) const final override
Definition range-op.cc:4368
bool op2_range(irange &r, tree type, const irange &lhs, const irange &op1, relation_trio rel=TRIO_VARYING) const final override
Definition range-op.cc:4480
bool fold_range(irange &r, tree type, const irange &lh, const irange &rh, relation_trio rel=TRIO_VARYING) const final override
Definition range-op.cc:4291
class operator_bitwise_not m_not
Definition range-op-mixed.h:921
Definition range-op-mixed.h:458
bool op1_range(irange &r, tree type, const irange &lhs, const irange &op2, relation_trio rel=TRIO_VARYING) const final override
Definition range-op.cc:3302
bool inside_domain_p(const wide_int &min, const wide_int &max, const irange &outer) const
Definition range-op.cc:3210
void fold_pair(irange &r, unsigned index, const irange &inner, const irange &outer) const
Definition range-op.cc:3227
bool fold_range(irange &r, tree type, const irange &op1, const irange &op2, relation_trio rel=TRIO_VARYING) const final override
Definition range-op.cc:3265
bool truncating_cast_p(const irange &inner, const irange &outer) const
Definition range-op.cc:3201
relation_kind lhs_op1_relation(const irange &lhs, const irange &op1, const irange &op2, relation_kind) const final override
Definition range-op.cc:3172
void update_bitmask(irange &r, const irange &lh, const irange &rh) const final override
Definition range-op.cc:3295
Definition range-op-mixed.h:442
bool fold_range(irange &r, tree type, const irange &op1, const irange &op2, relation_trio rel=TRIO_VARYING) const final override
Definition range-op.cc:4817
Definition range-op-mixed.h:108
bool operand_check_p(tree t1, tree t2, tree t3) const final override
Definition range-op-mixed.h:154
bool op2_range(irange &r, tree type, const irange &lhs, const irange &val, relation_trio=TRIO_VARYING) const final override
Definition range-op.cc:1141
relation_kind op1_op2_relation(const irange &lhs, const irange &, const irange &) const final override
Definition range-op.cc:1052
void update_bitmask(irange &r, const irange &lh, const irange &rh) const final override
Definition range-op.cc:1043
bool fold_range(irange &r, tree type, const irange &op1, const irange &op2, relation_trio=TRIO_VARYING) const final override
Definition range-op.cc:1069
bool op1_range(irange &r, tree type, const irange &lhs, const irange &val, relation_trio=TRIO_VARYING) const final override
Definition range-op.cc:1108
Definition range-op-mixed.h:359
bool op1_range(irange &r, tree type, const irange &lhs, const irange &op2, relation_trio=TRIO_VARYING) const final override
Definition range-op.cc:1662
bool operand_check_p(tree t1, tree t2, tree t3) const final override
Definition range-op-mixed.h:405
bool fold_range(irange &r, tree type, const irange &op1, const irange &op2, relation_trio=TRIO_VARYING) const final override
Definition range-op.cc:1641
relation_kind op1_op2_relation(const irange &lhs, const irange &, const irange &) const final override
Definition range-op.cc:1624
bool op2_range(irange &r, tree type, const irange &lhs, const irange &op1, relation_trio=TRIO_VARYING) const final override
Definition range-op.cc:1687
void update_bitmask(irange &r, const irange &lh, const irange &rh) const final override
Definition range-op.cc:1615
Definition range-op-mixed.h:309
relation_kind op1_op2_relation(const irange &lhs, const irange &, const irange &) const final override
Definition range-op.cc:1528
void update_bitmask(irange &r, const irange &lh, const irange &rh) const final override
Definition range-op.cc:1519
bool fold_range(irange &r, tree type, const irange &op1, const irange &op2, relation_trio=TRIO_VARYING) const final override
Definition range-op.cc:1545
bool operand_check_p(tree t1, tree t2, tree t3) const final override
Definition range-op-mixed.h:354
bool op2_range(irange &r, tree type, const irange &lhs, const irange &op1, relation_trio=TRIO_VARYING) const final override
Definition range-op.cc:1589
bool op1_range(irange &r, tree type, const irange &lhs, const irange &op2, relation_trio=TRIO_VARYING) const final override
Definition range-op.cc:1565
Definition range-op-mixed.h:410
relation_kind lhs_op1_relation(const irange &lhs, const irange &op1, const irange &op2, relation_kind rel) const final override
Definition range-op.cc:4830
bool fold_range(irange &r, tree type, const irange &op1, const irange &op2, relation_trio rel=TRIO_VARYING) const final override
Definition range-op.cc:4842
bool op1_range(irange &r, tree type, const irange &lhs, const irange &op2, relation_trio rel=TRIO_VARYING) const final override
Definition range-op.cc:4852
Definition range-op-mixed.h:258
bool op2_range(irange &r, tree type, const irange &lhs, const irange &op1, relation_trio=TRIO_VARYING) const final override
Definition range-op.cc:1493
void update_bitmask(irange &r, const irange &lh, const irange &rh) const final override
Definition range-op.cc:1421
bool fold_range(irange &r, tree type, const irange &op1, const irange &op2, relation_trio=TRIO_VARYING) const final override
Definition range-op.cc:1447
bool op1_range(irange &r, tree type, const irange &lhs, const irange &op2, relation_trio=TRIO_VARYING) const final override
Definition range-op.cc:1468
bool operand_check_p(tree t1, tree t2, tree t3) const final override
Definition range-op-mixed.h:304
relation_kind op1_op2_relation(const irange &lhs, const irange &, const irange &) const final override
Definition range-op.cc:1430
Definition range-op-mixed.h:210
bool operand_check_p(tree t1, tree t2, tree t3) const final override
Definition range-op-mixed.h:253
bool op1_range(irange &r, tree type, const irange &lhs, const irange &op2, relation_trio=TRIO_VARYING) const final override
Definition range-op.cc:1370
bool op2_range(irange &r, tree type, const irange &lhs, const irange &op1, relation_trio=TRIO_VARYING) const final override
Definition range-op.cc:1395
void update_bitmask(irange &r, const irange &lh, const irange &rh) const final override
Definition range-op.cc:1320
bool fold_range(irange &r, tree type, const irange &op1, const irange &op2, relation_trio=TRIO_VARYING) const final override
Definition range-op.cc:1346
relation_kind op1_op2_relation(const irange &lhs, const irange &, const irange &) const final override
Definition range-op.cc:1329
Definition range-op-mixed.h:954
relation_kind lhs_op2_relation(const irange &lhs, const irange &op1, const irange &op2, relation_kind) const final override
Definition range-op.cc:2250
relation_kind lhs_op1_relation(const irange &lhs, const irange &op1, const irange &op2, relation_kind) const final override
Definition range-op.cc:2235
bool operand_check_p(tree t1, tree t2, tree t3) const final override
Definition range-op-mixed.h:973
void update_bitmask(irange &r, const irange &lh, const irange &rh) const override
Definition range-op.cc:2215
void wi_fold(irange &r, tree type, const wide_int &lh_lb, const wide_int &lh_ub, const wide_int &rh_lb, const wide_int &rh_ub) const override
Definition range-op.cc:2222
bool fold_range(prange &r, tree type, const prange &op1, const prange &op2, relation_trio) const final override
Definition range-op-ptr.cc:830
Definition range-op-mixed.h:926
bool fold_range(prange &r, tree type, const prange &op1, const prange &op2, relation_trio) const final override
Definition range-op-ptr.cc:808
bool operand_check_p(tree t1, tree t2, tree t3) const final override
Definition range-op-mixed.h:945
void wi_fold(irange &r, tree type, const wide_int &lh_lb, const wide_int &lh_ub, const wide_int &rh_lb, const wide_int &rh_ub) const override
Definition range-op.cc:2173
relation_kind lhs_op2_relation(const irange &lhs, const irange &op1, const irange &op2, relation_kind) const final override
Definition range-op.cc:2201
relation_kind lhs_op1_relation(const irange &lhs, const irange &op1, const irange &op2, relation_kind) const final override
Definition range-op.cc:2186
void update_bitmask(irange &r, const irange &lh, const irange &rh) const override
Definition range-op.cc:2166
Definition range-op-mixed.h:645
bool operand_check_p(tree t1, tree t2, tree t3) const final override
Definition range-op-mixed.h:684
relation_kind op1_op2_relation(const irange &lhs, const irange &, const irange &) const final override
Definition range-op.cc:2109
relation_kind lhs_op1_relation(const irange &lhs, const irange &op1, const irange &op2, relation_kind rel) const final override
Definition range-op.cc:2020
bool op1_op2_relation_effect(irange &lhs_range, tree type, const irange &op1_range, const irange &op2_range, relation_kind rel) const final override
Definition range-op.cc:2125
void wi_fold(irange &r, tree type, const wide_int &lh_lb, const wide_int &lh_ub, const wide_int &rh_lb, const wide_int &rh_ub) const final override
Definition range-op.cc:2004
bool op1_range(irange &r, tree type, const irange &lhs, const irange &op2, relation_trio) const final override
Definition range-op.cc:2135
void rv_fold(frange &r, tree type, const REAL_VALUE_TYPE &lh_lb, const REAL_VALUE_TYPE &lh_ub, const REAL_VALUE_TYPE &rh_lb, const REAL_VALUE_TYPE &rh_ub, relation_kind) const final override
Definition range-op-float.cc:2497
void update_bitmask(irange &r, const irange &lh, const irange &rh) const final override
Definition range-op.cc:1997
bool op2_range(irange &r, tree type, const irange &lhs, const irange &op1, relation_trio) const final override
Definition range-op.cc:2155
bool overflow_free_p(const irange &lh, const irange &rh, relation_trio=TRIO_VARYING) const final override
Definition range-op.cc:5174
Definition range-op-mixed.h:735
bool op2_range(irange &r, tree type, const irange &lhs, const irange &op1, relation_trio) const final override
Definition range-op.cc:2353
void update_bitmask(irange &r, const irange &lh, const irange &rh) const final override
Definition range-op.cc:2319
bool operand_check_p(tree t1, tree t2, tree t3) const final override
Definition range-op-mixed.h:775
void wi_fold(irange &r, tree type, const wide_int &lh_lb, const wide_int &lh_ub, const wide_int &rh_lb, const wide_int &rh_ub) const final override
Definition range-op.cc:2381
bool overflow_free_p(const irange &lh, const irange &rh, relation_trio=TRIO_VARYING) const final override
Definition range-op.cc:5205
bool op1_range(irange &r, tree type, const irange &lhs, const irange &op2, relation_trio) const final override
Definition range-op.cc:2326
void rv_fold(frange &r, tree type, const REAL_VALUE_TYPE &lh_lb, const REAL_VALUE_TYPE &lh_ub, const REAL_VALUE_TYPE &rh_lb, const REAL_VALUE_TYPE &rh_ub, relation_kind kind) const final override
Definition range-op-float.cc:2606
bool wi_op_overflows(wide_int &res, tree type, const wide_int &w0, const wide_int &w1) const final override
Definition range-op.cc:2361
bool op1_op2_relation_effect(irange &lhs_range, tree type, const irange &op1_range, const irange &op2_range, relation_kind rel) const final override
Definition range-op.cc:2472
Definition range-op-mixed.h:697
bool operand_check_p(tree t1, tree t2, tree) const final override
Definition range-op-mixed.h:715
bool fold_range(irange &r, tree type, const irange &op1, const irange &op2, relation_trio rel=TRIO_VARYING) const final override
Definition range-op.cc:5052
bool op1_range(irange &r, tree type, const irange &lhs, const irange &op2, relation_trio rel=TRIO_VARYING) const final override
Definition range-op.cc:5067
Definition range-op-mixed.h:159
bool op1_range(irange &r, tree type, const irange &lhs, const irange &op2, relation_trio=TRIO_VARYING) const final override
Definition range-op.cc:1217
bool operand_check_p(tree t0, tree t1, tree t2) const final override
Definition range-op-mixed.h:205
void update_bitmask(irange &r, const irange &lh, const irange &rh) const final override
Definition range-op.cc:1152
bool op2_range(irange &r, tree type, const irange &lhs, const irange &op1, relation_trio=TRIO_VARYING) const final override
Definition range-op.cc:1251
bool fold_range(irange &r, tree type, const irange &op1, const irange &op2, relation_trio=TRIO_VARYING) const final override
Definition range-op.cc:1178
relation_kind op1_op2_relation(const irange &lhs, const irange &, const irange &) const final override
Definition range-op.cc:1161
Definition range-op-mixed.h:572
bool op2_range(irange &r, tree type, const irange &lhs, const irange &op1, relation_trio) const final override
Definition range-op.cc:1922
bool operand_check_p(tree t1, tree t2, tree t3) const final override
Definition range-op-mixed.h:605
void rv_fold(frange &r, tree type, const REAL_VALUE_TYPE &lh_lb, const REAL_VALUE_TYPE &lh_ub, const REAL_VALUE_TYPE &rh_lb, const REAL_VALUE_TYPE &rh_ub, relation_kind) const final override
Definition range-op-float.cc:2432
bool overflow_free_p(const irange &lh, const irange &rh, relation_trio=TRIO_VARYING) const final override
Definition range-op.cc:5143
relation_kind lhs_op1_relation(const irange &lhs, const irange &op1, const irange &op2, relation_kind rel) const final override
Definition range-op.cc:1723
bool op1_range(irange &r, tree type, const irange &lhs, const irange &op2, relation_trio) const final override
Definition range-op.cc:1902
void wi_fold(irange &r, tree type, const wide_int &lh_lb, const wide_int &lh_ub, const wide_int &rh_lb, const wide_int &rh_ub) const final override
Definition range-op.cc:1797
relation_kind lhs_op2_relation(const irange &lhs, const irange &op1, const irange &op2, relation_kind rel) const final override
Definition range-op.cc:1790
void update_bitmask(irange &r, const irange &lh, const irange &rh) const final override
Definition range-op.cc:1713
Definition range-op-mixed.h:532
bool op1_range(irange &r, tree type, const irange &lhs, const irange &op2, relation_trio rel=TRIO_VARYING) const override
Definition range-op.cc:3465
void update_bitmask(irange &r, const irange &lh, const irange &) const final override
Definition range-op.cc:3497
bool fold_range(irange &r, tree type, const irange &op1, const irange &op2, relation_trio rel=TRIO_VARYING) const override
Definition range-op.cc:3434
operator_cast m_cast
Definition range-op-mixed.h:568
Definition value-range.h:405
virtual bool op1_range(irange &r, tree type, const irange &lhs, const irange &op2, relation_trio=TRIO_VARYING) const
Definition range-op.cc:798
virtual bool op2_range(irange &r, tree type, const irange &lhs, const irange &op1, relation_trio=TRIO_VARYING) const
Definition range-op.cc:810
virtual bool fold_range(irange &r, tree type, const irange &lh, const irange &rh, relation_trio=TRIO_VARYING) const
Definition range-op.cc:708
virtual void update_bitmask(irange &, const irange &, const irange &) const
Definition range-op.cc:872
virtual relation_kind lhs_op2_relation(const irange &lhs, const irange &op1, const irange &op2, relation_kind=VREL_VARYING) const
Definition range-op.cc:831
virtual relation_kind lhs_op1_relation(const irange &lhs, const irange &op1, const irange &op2, relation_kind=VREL_VARYING) const
Definition range-op.cc:822
virtual relation_kind op1_op2_relation(const irange &lhs, const irange &op1, const irange &op2) const
Definition range-op.cc:840
virtual bool op1_op2_relation_effect(irange &lhs_range, tree type, const irange &op1_range, const irange &op2_range, relation_kind rel) const
Definition range-op.cc:850
Definition value-relation.h:427
relation_kind op1_op2()
Definition value-relation.h:501
Definition value-range.h:88
bool undefined_p() const
Definition value-range.h:1121
union tree_node * tree
Definition coretypes.h:97
tree_code
Definition genmatch.cc:1011
BINARY_PREDICATE le_p(const T1 &, const T2 &, signop)
hwi_with_prec zero(unsigned int)
Definition wide-int.h:2018
BINARY_PREDICATE ge_p(const T1 &, const T2 &, signop)
BINARY_PREDICATE eq_p(const T1 &, const T2 &)
poly_int< N, C > r
Definition poly-int.h:774
bool wi_includes_zero_p(tree type, const wide_int &wmin, const wide_int &wmax)
Definition range-op-mixed.h:34
bool empty_range_varying(vrange &r, tree type, const vrange &op1, const vrange &op2)
Definition range-op-mixed.h:59
bool wi_zero_p(tree type, const wide_int &wmin, const wide_int &wmax)
Definition range-op-mixed.h:43
bool_range_state get_bool_state(vrange &r, const vrange &lhs, tree val_type)
Definition range-op.cc:1017
void update_known_bitmask(vrange &, tree_code, const vrange &, const vrange &)
Definition range-op.cc:516
bool relop_early_resolve(irange &r, tree type, const vrange &op1, const vrange &op2, relation_trio trio, relation_kind my_rel)
Definition range-op-mixed.h:77
bool minus_op1_op2_relation_effect(irange &lhs_range, tree type, const irange &, const irange &, relation_kind rel)
Definition range-op.cc:2040
bool_range_state
Definition range-op-mixed.h:50
@ BRS_FALSE
Definition range-op-mixed.h:50
@ BRS_EMPTY
Definition range-op-mixed.h:50
@ BRS_FULL
Definition range-op-mixed.h:50
@ BRS_TRUE
Definition range-op-mixed.h:50
int_range< 1 > range_false(tree type=boolean_type_node)
Definition range.h:39
int_range< 1 > range_true(tree type=boolean_type_node)
Definition range.h:30
#define REAL_VALUE_TYPE
Definition real.h:68
signop
Definition signop.h:28
Definition gengtype.h:252
#define TYPE_PRECISION(NODE)
Definition tree.h:2446
#define TYPE_SIGN(NODE)
Definition tree.h:983
#define INTEGRAL_TYPE_P(TYPE)
Definition tree.h:614
bool range_compatible_p(tree type1, tree type2)
Definition value-range.h:2008
relation_kind relation_intersect(relation_kind r1, relation_kind r2)
Definition value-relation.cc:133
relation_kind relation_union(relation_kind r1, relation_kind r2)
Definition value-relation.cc:192
enum relation_kind_t relation_kind
@ VREL_UNDEFINED
Definition value-relation.h:66
#define TRIO_VARYING
Definition value-relation.h:446
generic_wide_int< wide_int_storage > wide_int
Definition wide-int.h:343