|
GCC Middle and Back End API Reference
|
#include "value-relation.h"

Go to the source code of this file.
Data Structures | |
| class | range_query |
| class | global_range_query |
Functions | |
| range_query * | get_global_range_query () |
| ATTRIBUTE_RETURNS_NONNULL range_query * | get_range_query (const struct function *fun) |
| range_query * | set_range_query (struct function *fun, range_query *q) |
| void | gimple_range_global (vrange &v, tree name, struct function *f=cfun) |
Variables | |
| global_range_query | global_ranges |
|
inline |
References get_global_range_query(), and global_ranges.
Referenced by disable_ranger(), dump_ssaname_info(), enable_ranger(), evaluate_control_stmt_using_entry_checks(), path_range_query::get_cache(), ranger_cache::get_global_range(), get_global_range_query(), gimple_infer_range::gimple_infer_range(), gimple_stmt_nonnegative_p(), infer_range_manager::infer_range_manager(), ranger_cache::range_of_def(), dom_ranger::range_of_expr(), gimple_ranger::range_of_expr(), fold_using_range::range_of_ssa_name_with_loop_info(), dom_ranger::range_of_stmt(), gimple_ranger::range_of_stmt(), dom_ranger::range_on_edge(), gimple_ranger::range_on_edge(), gimple_ranger::range_on_entry(), gimple_ranger::range_on_exit(), set_range_query(), simplify_count_zeroes(), simplify_rotate(), split_at_bb_p(), and value_replacement().
|
inline |
Returns the currently active range access class. When there is no active range class, global ranges are used. Never returns null.
References get_range_query(), global_ranges, and function::x_range_query.
Referenced by infer_range_manager::add_range(), alloca_call_type(), array_bounds_checker::array_bounds_checker(), assume_query::calculate_phi(), check_bounds_or_overlap(), check_nul_terminated_array(), determine_block_size(), determine_value_range(), dr_step_indicator(), dump_strlen_info(), tree_switch_conversion::bit_test_cluster::emit(), expand_builtin_strnlen(), expr_not_equal_to(), expr_to_aff_combination(), find_var_cmp_const(), find_what_p_points_to(), fold_using_range::fold_stmt(), fur_source::fur_source(), get_len_nonzero_value(), strlen_pass::get_len_or_size(), get_min_precision(), get_range(), get_range_pos_neg(), get_range_query(), get_range_query(), get_ref_base_and_extent(), get_size_range(), gimple_match_range_of_expr(), gimple_set_modified(), gori_on_edge(), strlen_pass::handle_integral_assign(), infer_loop_bounds_from_signedness(), insert_into_preds_of_block(), ipa_compute_jump_functions_for_edge(), iv_can_overflow_p(), loop_static_stmt_p(), maybe_diag_stxncpy_trunc(), minmax_from_comparison(), near_pow2_divisor_range_p(), nonneg_scaled_offset_p(), number_of_iterations_cltz(), number_of_iterations_cltz_complement(), optimize_range_tests_to_bit_test(), assume_query::process_stmts(), fold_using_range::range_of_ssa_name_with_loop_info(), dom_oracle::recomputed_relation(), record_nonwrapping_iv(), refine_value_range_using_guard(), reset_flow_sensitive_info(), scev_var_range_cant_overflow(), set_range_info(), set_strlen_range(), set_switch_stmt_execution_predicate(), shifted_range_nonzero_p(), simplify_conversion_using_ranges(), simplify_count_zeroes(), simplify_rotate(), simplify_using_initial_conditions(), size_must_be_zero_p(), skip_a_safe_conversion_op(), split_constant_offset(), ssa_name_has_boolean_range(), static_loop_exit(), strlen_pass::strlen_pass(), tree_single_nonnegative_p(), vect_get_range_info(), and vect_recog_divmod_pattern().
References cfun, gcc_checking_assert, get_ssa_name_ptr_info_nonnull(), get_ssa_name_range_info(), gimple_range_global(), nonnull_arg_p(), POINTER_TYPE_P, r, SSA_NAME_IS_DEFAULT_DEF, SSA_NAME_PTR_INFO, SSA_NAME_RANGE_INFO, SSA_NAME_VAR, TREE_CODE, and TREE_TYPE.
Referenced by gimple_infer_range::check_assume_func(), ranger_cache::entry_range(), ranger_cache::exit_range(), fold_using_range::fold_stmt(), ranger_cache::get_global_range(), ranger_cache::get_global_range(), range_query::get_tree_range(), gimple_range_global(), path_range_query::internal_range_of_expr(), fold_using_range::range_of_call(), ranger_cache::range_of_def(), global_range_query::range_of_expr(), ssa_cache::range_of_expr(), and set_range_info().
| range_query * set_range_query | ( | struct function * | fun, |
| range_query * | q ) |
Support routines for value queries. Copyright (C) 2020-2026 Free Software Foundation, Inc. Contributed by Aldy Hernandez <aldyh@redhat.com> and Andrew MacLeod <amacleod@redhat.com>. This file is part of GCC. GCC is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. GCC is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GCC; see the file COPYING3. If not see <http://www.gnu.org/licenses/>.
References range_query::active_query_compatible_p(), get_global_range_query(), NULL, set_range_query(), and function::x_range_query.
Referenced by disable_ranger(), enable_ranger(), execute_fast_vrp(), fold_using_range::fold_stmt(), and set_range_query().
|
extern |
Referenced by range_query::create_relation_oracle(), get_global_range_query(), and get_range_query().