GCC Middle and Back End API Reference
|
#include <tree-ssa-threadedge.h>
Public Member Functions | |
virtual | ~jt_state () |
virtual void | push (edge) |
virtual void | pop () |
virtual void | register_equiv (tree dest, tree src, bool update_range) |
virtual void | register_equivs_edge (edge e) |
virtual void | register_equivs_stmt (gimple *, basic_block, class jt_simplifier *) |
virtual void | record_ranges_from_stmt (gimple *stmt, bool temporary) |
void | get_path (vec< basic_block > &) |
void | append_path (basic_block) |
void | dump (FILE *) |
void | debug () |
Private Attributes | |
auto_vec< basic_block > | m_blocks |
Static Private Attributes | |
static const basic_block | BB_MARKER = (basic_block) -1 |
Header file for SSA jump threading. Copyright (C) 2013-2024 Free Software Foundation, Inc. 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/>.
|
inlinevirtual |
void jt_state::append_path | ( | basic_block | bb | ) |
References gcc_checking_assert, and m_blocks.
Referenced by jump_threader::thread_around_empty_blocks(), and jump_threader::thread_through_normal_block().
void jt_state::debug | ( | ) |
References dump(), and TDF_DETAILS.
void jt_state::dump | ( | FILE * | out | ) |
References dump_ranger(), get_path(), m_blocks, and path.
Referenced by debug().
void jt_state::get_path | ( | vec< basic_block > & | path | ) |
|
virtual |
Reimplemented in dom_jt_state.
References BB_MARKER, and m_blocks.
Referenced by dom_jt_state::pop(), and jump_threader::thread_across_edge().
|
virtual |
Reimplemented in dom_jt_state.
References BB_MARKER, and m_blocks.
Referenced by dom_jt_state::push(), and jump_threader::thread_across_edge().
Reimplemented in dom_jt_state.
Referenced by jump_threader::record_temporary_equivalences_from_phis(), and register_equivs_stmt().
|
virtual |
Reimplemented in dom_jt_state.
Referenced by jump_threader::thread_through_normal_block().
|
virtual |
Reimplemented in hybrid_jt_state.
References FOR_EACH_SSA_USE_OPERAND, gimple_assign_rhs1(), gimple_assign_single_p(), gimple_fold_stmt_to_constant_1(), gimple_get_lhs(), i, is_gimple_min_invariant(), NULL, NUM_SSA_OPERANDS, register_equiv(), SET_USE, jt_simplifier::simplify(), SSA_NAME_VALUE, SSA_OP_ALL_USES, threadedge_valueize(), TREE_CODE, and USE_FROM_PTR.
Referenced by jump_threader::record_temporary_equivalences_from_stmts_at_dest().
|
staticprivate |
Referenced by get_path(), pop(), and push().
|
private |
Referenced by append_path(), dump(), get_path(), pop(), and push().