GCC Middle and Back End API Reference
|
Public Member Functions | |
assume_query (function *f, bitmap p) | |
Protected Member Functions | |
void | process_stmts (gimple *s, vrange &lhs_range) |
void | update_parms (fur_source &src) |
void | calculate_stmt (gimple *s, vrange &lhs_range, fur_source &src) |
void | calculate_op (tree op, gimple *s, vrange &lhs, fur_source &src) |
void | calculate_phi (gphi *phi, vrange &lhs_range) |
Protected Attributes | |
ssa_lazy_cache | m_path |
ssa_lazy_cache | m_parms |
bitmap & | m_parm_list |
function * | m_func |
Support for C++23 ASSUME keyword functionailty. Copyright (C) 2023-2024 Free Software Foundation, Inc. Contributed by 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 as_a(), calculate_phi(), dump_file, dump_flags, EXECUTE_IF_SET_IN_BITMAP, EXIT_BLOCK_PTR_FOR_FN, fputc(), ssa_lazy_cache::get_range(), gimple_bb(), gimple_dump_cfg(), gimple_get_lhs(), gimple_range_ssa_p(), gimple_return_retval(), gsi_end_p(), gsi_last_nondebug_bb(), gsi_stmt(), is_a(), m_parm_list, m_parms, wi::one(), process_stmts(), set_range_info(), single_pred(), single_pred_p(), ssa_name, SSA_NAME_DEF_STMT, irange::supports_p(), TDF_DETAILS, TREE_TYPE, TYPE_PRECISION, and value_range::varying_p().
|
protected |
References calculate_stmt(), gimple_outgoing_range::compute_operand_range(), value_range::dump(), dump_file, dump_flags, fputc(), ssa_lazy_cache::get_range(), gimple_bb(), gimple_get_lhs(), fur_source::gori(), m_path, ssa_lazy_cache::merge_range(), print_generic_expr(), SSA_NAME_DEF_STMT, TDF_DETAILS, TDF_SLIM, TREE_TYPE, and value_range::varying_p().
Referenced by calculate_stmt().
References value_range::dump(), vrange::dump(), dump_file, dump_flags, fputc(), get_range_query(), gimple_bb(), gimple_get_lhs(), gimple_phi_arg_def(), gimple_phi_arg_edge(), gimple_phi_num_args(), gimple_range_ssa_p(), value_range::intersect(), m_func, print_generic_expr(), print_gimple_stmt(), process_stmts(), range_cast(), SSA_NAME_DEF_STMT, TDF_DETAILS, TDF_SLIM, TREE_TYPE, value_range::undefined_p(), and update_parms().
Referenced by assume_query().
|
protected |
References calculate_op(), vrange::dump(), dump_file, dump_flags, gimple_range_ssa_p(), gimple_range_op_handler::operand1(), gimple_range_op_handler::operand2(), print_gimple_stmt(), TDF_DETAILS, and TDF_SLIM.
Referenced by calculate_op(), and process_stmts().
References calculate_stmt(), get_range_query(), m_func, and update_parms().
Referenced by assume_query(), and calculate_phi().
|
protected |
References ssa_lazy_cache::clear(), value_range::dump(), dump_file, dump_flags, EXECUTE_IF_SET_IN_BITMAP, fputc(), fur_source::get_operand(), ssa_lazy_cache::get_range(), m_parm_list, m_parms, m_path, print_generic_expr(), ssa_lazy_cache::set_range(), value_range::set_varying(), ssa_name, TDF_DETAILS, TDF_SLIM, TREE_TYPE, and value_range::union_().
Referenced by calculate_phi(), and process_stmts().
|
protected |
Referenced by calculate_phi(), and process_stmts().
|
protected |
Referenced by assume_query(), and update_parms().
|
protected |
Referenced by assume_query(), and update_parms().
|
protected |
Referenced by calculate_op(), and update_parms().