◆ back_threader()
back_threader::back_threader |
( |
function * | fun, |
|
|
unsigned | flags, |
|
|
bool | first ) |
References AVOID_CFG_MODIFICATIONS, BT_RESOLVE, BT_SPEED, loop_optimizer_init(), LOOPS_HAVE_PREHEADERS, LOOPS_HAVE_SIMPLE_LATCHES, m_flags, m_fun, m_last_stmt, m_ranger, mark_dfs_back_edges(), and NULL.
◆ ~back_threader()
back_threader::~back_threader |
( |
| ) |
|
◆ debug()
void back_threader::debug |
( |
| ) |
|
|
privatevirtual |
◆ debug_counter()
bool back_threader::debug_counter |
( |
| ) |
|
|
private |
◆ dump()
void back_threader::dump |
( |
FILE * | out | ) |
|
|
privatevirtual |
◆ find_paths_to_names()
References bitmap_clear_bit(), bitmap_empty_p(), bitmap_set_bit, dump_file, dump_flags, dyn_cast(), EDGE_COUNT, EXECUTE_IF_SET_IN_BITMAP, find_paths_to_names(), FOR_EACH_EDGE, gimple_bb(), gimple_phi_result(), gimple_range_ssa_names(), i, basic_block_def::loop_father, m_imports, m_path, m_visited_bbs, maybe_register_path(), PHI_ARG_DEF_FROM_EDGE, back_threader_profitability::possibly_profitable_path_p(), basic_block_def::preds, ssa_name, SSA_NAME_DEF_STMT, SSA_NAME_OCCURS_IN_ABNORMAL_PHI, SSA_NAME_VERSION, TDF_DETAILS, TREE_CODE, and worklist.
Referenced by find_paths_to_names(), and maybe_thread_block().
◆ find_taken_edge()
◆ find_taken_edge_cond()
References BT_RESOLVE, extract_true_false_edges_from_block(), gimple_bb(), m_flags, m_imports, m_ranger, NULL, r, range_false(), path_range_query::range_of_stmt(), range_true(), UNREACHABLE_EDGE, and path_range_query::unreachable_path_p().
Referenced by find_taken_edge().
◆ find_taken_edge_switch()
References BT_RESOLVE, CASE_LABEL, cfun, find_case_label_range(), find_edge(), gimple_bb(), gimple_switch_index(), label_to_block(), m_flags, m_imports, m_ranger, NULL, r, path_range_query::range_of_expr(), and UNREACHABLE_EDGE.
Referenced by find_taken_edge().
◆ maybe_register_path()
References dump_file, dump_flags, find_taken_edge(), m_path, m_registry, maybe_register_path_dump(), NULL, back_threader_profitability::profitable_path_p(), back_threader_registry::register_path(), TDF_DETAILS, UNREACHABLE_EDGE, and vect_free_loop_info_assumptions().
Referenced by find_paths_to_names().
◆ maybe_register_path_dump()
void back_threader::maybe_register_path_dump |
( |
edge | taken_edge | ) |
|
|
private |
◆ maybe_thread_block()
void back_threader::maybe_thread_block |
( |
basic_block | bb | ) |
|
|
private |
References bitmap_clear(), bitmap_copy(), bitmap_set_bit, BT_SPEED, EDGE_COUNT, find_paths_to_names(), FOR_EACH_SSA_TREE_OPERAND, gimple_range_ssa_p(), gsi_last_bb(), m_flags, m_imports, m_last_stmt, m_path, m_visited_bbs, SSA_NAME_VERSION, SSA_OP_USE, and basic_block_def::succs.
Referenced by thread_blocks().
◆ thread_blocks()
unsigned int back_threader::thread_blocks |
( |
| ) |
|
References BT_SPEED, changed, EDGE_COUNT, FOR_EACH_BB_FN, m_flags, m_fun, m_registry, maybe_thread_block(), basic_block_def::succs, jt_path_registry::thread_through_all_blocks(), and TODO_cleanup_cfg.
◆ m_first
bool back_threader::m_first |
|
private |
◆ m_flags
unsigned back_threader::m_flags |
|
private |
◆ m_fun
◆ m_imports
◆ m_last_stmt
gimple* back_threader::m_last_stmt |
|
private |
◆ m_path
◆ m_ranger
◆ m_registry
◆ m_visited_bbs
◆ UNREACHABLE_EDGE
const edge back_threader::UNREACHABLE_EDGE = (edge) -1 |
|
staticprivate |
The documentation for this class was generated from the following file: