GCC Middle and Back End API Reference
|
Public Member Functions | |
if_chain () | |
~if_chain () | |
bool | check_non_overlapping_cases () |
bool | is_beneficial () |
Data Fields | |
vec< condition_info * > | m_entries |
Master structure for one if to switch conversion candidate.
|
inline |
References m_entries.
|
inline |
References m_entries.
bool if_chain::check_non_overlapping_cases | ( | ) |
Verify that all case ranges do not overlap.
References range_entry::high, i, range_entry::low, m_entries, range_cmp(), and tree_int_cst_le().
bool if_chain::is_beneficial | ( | ) |
Return true when the switch can be expanded with a jump table or a bit test (at least partially).
References cluster_cmp(), dump_clusters(), wi::eq_p(), tree_switch_conversion::bit_test_cluster::find_bit_tests(), tree_switch_conversion::jump_table_cluster::find_jump_tables(), tree_switch_conversion::simple_cluster::get_high(), tree_switch_conversion::simple_cluster::get_low(), range_entry::high, i, range_entry::low, tree_switch_conversion::cluster::m_case_bb, m_entries, tree_switch_conversion::simple_cluster::m_has_forward_bb, condition_info::m_ranges, condition_info::m_true_edge, condition_info::m_true_edge_phi_mapping, NULL_TREE, wi::one(), r, tree_switch_conversion::release_clusters(), tree_switch_conversion::simple_cluster::set_high(), wi::to_wide(), TREE_TYPE, TYPE_PRECISION, and profile_probability::uninitialized().
vec<condition_info *> if_chain::m_entries |
Referenced by check_non_overlapping_cases(), if_chain(), is_beneficial(), and ~if_chain().