GCC Middle and Back End API Reference
|
Public Member Functions | |
remove_unreachable (range_query &r, bool all) | |
~remove_unreachable () | |
void | handle_early (gimple *s, edge e) |
void | maybe_register (gimple *s) |
bool | remove () |
bool | remove_and_update_globals () |
Data Fields | |
vec< std::pair< int, int > > | m_list |
range_query & | m_ranger |
bool | final_p |
Support routines for Value Range Propagation (VRP). Copyright (C) 2005-2024 Free Software Foundation, Inc. Contributed by Diego Novillo <dnovillo@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/>.
|
inline |
References m_list.
|
inline |
References m_list.
References as_a(), bitmap_set_bit, final_p, FOR_EACH_GORI_EXPORT_NAME, fully_replaceable(), gcc_checking_assert, gimple_bb(), gimple_cond_lhs(), gimple_cond_make_false(), gimple_cond_make_true(), gimple_cond_rhs(), gimple_outgoing_range_stmt_p(), range_query::gori_ssa(), m_ranger, r, range_query::range_on_entry(), set_range_info(), simple_dce_from_worklist(), SSA_NAME_DEF_STMT, SSA_NAME_VERSION, TREE_CODE, TREE_TYPE, and update_stmt().
Referenced by maybe_register().
void remove_unreachable::maybe_register | ( | gimple * | s | ) |
References bb_seq(), EDGE_COUNT, EDGE_SUCC, final_p, gcc_checking_assert, gimple_bb(), gimple_cond_lhs(), gimple_cond_rhs(), gimple_seq_unreachable_p(), handle_early(), m_list, basic_block_def::succs, and TREE_CODE.
Referenced by fvrp_folder::pre_fold_stmt(), and rvrp_folder::pre_fold_stmt().
bool remove_unreachable::remove | ( | ) |
References as_a(), BASIC_BLOCK_FOR_FN, cfun, final_p, find_edge(), fully_replaceable(), gcc_checking_assert, gimple_cond_lhs(), gimple_cond_make_false(), gimple_cond_make_true(), gimple_cond_rhs(), gimple_outgoing_range_stmt_p(), gimple_range_ssa_p(), gori_name_on_edge(), i, m_list, m_ranger, r, set_range_info(), TREE_TYPE, and update_stmt().
Referenced by execute_fast_vrp(), and remove_and_update_globals().
bool remove_unreachable::remove_and_update_globals | ( | ) |
References as_a(), BASIC_BLOCK_FOR_FN, bitmap_clear_bit(), bitmap_copy(), bitmap_empty_p(), bitmap_ior_into(), cfun, EXECUTE_IF_SET_IN_BITMAP, EXIT_BLOCK_PTR_FOR_FN, gori_map::exports(), final_p, find_edge(), FOR_EACH_GORI_EXPORT_NAME, FOR_EACH_IMM_USE_FAST, gcc_checking_assert, gimple_cond_make_false(), gimple_cond_make_true(), gimple_outgoing_range_stmt_p(), range_query::gori_ssa(), i, value_range::intersect(), is_gimple_debug(), m_list, m_ranger, r, range_query::range_of_expr(), range_query::range_on_entry(), remove(), set_range_info(), value_range::set_varying(), simple_dce_from_worklist(), ssa_name, SSA_NAME_IN_FREE_LIST, SSA_NAME_IS_DEFAULT_DEF, TREE_TYPE, update_stmt(), and USE_STMT.
Referenced by execute_ranger_vrp().
bool remove_unreachable::final_p |
Referenced by handle_early(), maybe_register(), remove(), and remove_and_update_globals().
vec<std::pair<int, int> > remove_unreachable::m_list |
Referenced by maybe_register(), remove(), remove_and_update_globals(), remove_unreachable(), and ~remove_unreachable().
range_query& remove_unreachable::m_ranger |
Referenced by handle_early(), remove(), and remove_and_update_globals().