GCC Middle and Back End API Reference
|
#include <gimple-range-fold.h>
Public Member Functions | |
bool | fold_stmt (vrange &r, gimple *s, class fur_source &src, tree name=NULL_TREE) |
Protected Member Functions | |
bool | range_of_range_op (vrange &r, gimple_range_op_handler &handler, fur_source &src) |
bool | range_of_call (vrange &r, gcall *call, fur_source &src) |
bool | range_of_cond_expr (vrange &r, gassign *cond, fur_source &src) |
bool | range_of_address (prange &r, gimple *s, fur_source &src) |
bool | range_of_phi (vrange &r, gphi *phi, fur_source &src) |
void | range_of_ssa_name_with_loop_info (vrange &, tree, class loop *, gphi *, fur_source &src) |
void | relation_fold_and_or (irange &lhs_range, gimple *s, fur_source &src, vrange &op1, vrange &op2) |
bool fold_using_range::fold_stmt | ( | vrange & | r, |
gimple * | s, | ||
class fur_source & | src, | ||
tree | name = NULL_TREE ) |
References gcc_checking_assert, ggc_alloc(), gimple_assign_rhs_code(), gimple_get_lhs(), gimple_range_global(), gimple_range_ssa_p(), gimple_stmt_nonnegative_warnv_p(), INTEGRAL_TYPE_P, r, range_cast(), range_compatible_p(), range_of_address(), range_of_call(), range_of_cond_expr(), range_of_phi(), range_of_range_op(), and TREE_TYPE.
Referenced by fold_range(), fold_range(), fold_range(), fold_range(), fold_range(), gimple_ranger::fold_range_internal(), fold_relations(), and path_range_query::range_of_stmt().
|
protected |
References poly_int< N, C >::from(), gcc_checking_assert, get_inner_reference(), fur_source::get_operand(), ggc_alloc(), gimple_assign_rhs1(), gimple_assign_rhs_code(), gimple_get_lhs(), gimple_range_ssa_p(), fur_source::gori(), known_eq, known_gt, known_ne, mem_ref_offset(), NULL_TREE, offset, r, range_cast(), range_def_chain::register_dependency(), SIGNED, wi::to_poly_wide(), TREE_CODE, TREE_OPERAND, tree_single_nonzero_warnv_p(), TREE_TYPE, TYPE_OVERFLOW_WRAPS, TYPE_PRECISION, and wi::zero().
Referenced by fold_stmt().
|
protected |
References Value_Range::dump(), dump_file, dump_flags, ggc_alloc(), gimple_call_fndecl(), gimple_call_lhs(), gimple_call_nonnull_arg(), gimple_call_nonnull_result_p(), gimple_range_global(), gimple_range_type(), gimple_stmt_nonnegative_warnv_p(), Value_Range::intersect(), ipa_return_value_range(), print_generic_expr(), r, TDF_DETAILS, TDF_SLIM, TREE_TYPE, and useless_type_conversion_p().
Referenced by fold_stmt().
|
protected |
References gori_compute::condexpr_adjust(), dump_file, dump_flags, gcc_checking_assert, fur_source::get_operand(), ggc_alloc(), gimple_assign_rhs1(), gimple_assign_rhs2(), gimple_assign_rhs3(), gimple_assign_rhs_code(), gimple_range_type(), fur_source::gori(), r, range_compatible_p(), TDF_DETAILS, and TREE_TYPE.
Referenced by fold_stmt().
|
protected |
References CDI_DOMINATORS, dom_info_available_p(), dominated_by_p(), dump_file, dump_flags, g, fur_source::get_operand(), fur_source::get_phi_operand(), ggc_alloc(), gimple_bb(), gimple_phi_arg_def(), gimple_phi_arg_edge(), gimple_phi_num_args(), gimple_phi_result(), gimple_range_ssa_p(), gimple_range_type(), fur_source::gori(), loop_containing_stmt(), loop_outer(), NULL, NULL_TREE, phi_analysis(), phi_analysis_available_p(), POINTER_TYPE_P, print_generic_expr(), fur_source::query(), range_query::query_relation(), r, range_of_ssa_name_with_loop_info(), range_def_chain::register_dependency(), fur_source::register_relation(), scev_initialized_p(), irange::supports_p(), TDF_DETAILS, TDF_SLIM, TREE_TYPE, and VREL_EQ.
Referenced by fold_stmt().
|
protected |
References dump_file, dump_flags, EDGE_SUCC, range_op_handler::fold_range(), fputc(), gcc_checking_assert, fur_source::get_operand(), ggc_alloc(), gimple_bb(), gimple_range_adjustment(), gimple_range_ssa_p(), gimple_range_type(), fur_source::gori(), gimple_range_op_handler::lhs(), range_op_handler::lhs_op1_relation(), range_op_handler::lhs_op2_relation(), NULL, relation_trio::op1_op2(), gimple_range_op_handler::operand1(), gimple_range_op_handler::operand2(), print_generic_expr(), print_relation(), fur_source::query_relation(), r, range_def_chain::register_dependency(), fur_source::register_outgoing_edges(), fur_source::register_relation(), relation_fold_and_or(), single_pred_p(), gimple_range_op_handler::stmt(), irange::supports_p(), TDF_DETAILS, TDF_SLIM, TREE_TYPE, and VREL_VARYING.
Referenced by fold_stmt().
|
protected |
References gcc_checking_assert, fur_source::query(), r, range_of_var_in_loop(), TREE_CODE, and TREE_TYPE.
Referenced by range_of_phi().
|
protected |
References boolean_type_node, dump_file, dump_flags, fputc(), ggc_alloc(), gimple_expr_code(), gimple_range_ssa_p(), fur_source::gori(), HONOR_NANS(), gimple_range_op_handler::lhs(), gimple_range_op_handler::operand1(), gimple_range_op_handler::operand2(), range_query::oracle(), print_generic_expr(), fur_source::query(), range_cast(), range_false(), range_true(), relation_intersect(), relation_negate(), relation_union(), SSA_NAME_DEF_STMT, TDF_DETAILS, TDF_SLIM, TREE_CODE, TREE_TYPE, VREL_UNDEFINED, and VREL_VARYING.
Referenced by range_of_range_op().