GCC Middle and Back End API Reference
|
Go to the source code of this file.
Data Structures | |
struct | ipcp_value_source< valtype > |
class | ipcp_value_base |
class | ipcp_value< valtype > |
struct | ipcp_lattice< valtype > |
struct | ipcp_agg_lattice |
class | ipcp_bits_lattice |
class | ipcp_vr_lattice |
class | ipcp_param_lattices |
Functions | |
bool | values_equal_for_ipcp_p (tree x, tree y) |
static bool | ipa_vr_supported_type_p (tree type) |
bool | ipa_vr_operation_and_type_effects (vrange &dst_vr, const vrange &src_vr, enum tree_code operation, tree dst_type, tree src_type) |
bool | ipa_vr_operation_and_type_effects (vrange &dst_vr, const ipa_vr &src_vr, enum tree_code operation, tree dst_type, tree src_type) |
bool ipa_vr_operation_and_type_effects | ( | vrange & | dst_vr, |
const ipa_vr & | src_vr, | ||
enum tree_code | operation, | ||
tree | dst_type, | ||
tree | src_type ) |
Same as above, but the SRC_VR argument is an IPA_VR which must first be extracted onto a vrange.
References ipa_vr::get_vrange(), and ipa_vr_operation_and_type_effects().
bool ipa_vr_operation_and_type_effects | ( | vrange & | dst_vr, |
const vrange & | src_vr, | ||
enum tree_code | operation, | ||
tree | dst_type, | ||
tree | src_type ) |
Emulate effects of unary OPERATION and/or conversion from SRC_TYPE to DST_TYPE on value range in SRC_VR and store it to DST_VR. Return true if the result is a range that is not VARYING nor UNDEFINED.
References range_op_handler::fold_range(), ipa_vr_supported_type_p(), range_op_handler::operand_check_p(), value_range::set_varying(), vrange::undefined_p(), and vrange::varying_p().
Referenced by ipa_value_range_from_jfunc(), ipa_vr_intersect_with_arith_jfunc(), ipa_vr_operation_and_type_effects(), propagate_vr_across_jump_function(), and update_jump_functions_after_inlining().
Return TRUE if IPA supports ranges of TYPE.
References irange::supports_p(), and prange::supports_p().
Referenced by ipa_compute_jump_functions_for_edge(), ipa_vr_intersect_with_arith_jfunc(), ipa_vr_operation_and_type_effects(), ipcp_get_parm_bits(), and propagate_vr_across_jump_function().
Return true iff X and Y should be considered equal values by IPA-CP.
References DECL_IN_CONSTANT_POOL, DECL_INITIAL, gcc_checking_assert, NULL_TREE, operand_equal_p(), TREE_CODE, TREE_OPERAND, and y.
Referenced by ipcp_lattice< valtype >::add_value(), cgraph_edge_brings_all_scalars_for_node(), cgraph_edge_brings_value_p(), cgraph_edge_brings_value_p(), find_more_scalar_values_for_callers_subset(), intersect_argaggs_with(), ipa_agg_jump_functions_equivalent_p(), ipa_agg_pass_through_jf_equivalent_p(), ipa_get_jf_arith_result(), ipa_jump_functions_equivalent_p(), ipcp_val_agg_replacement_ok_p(), and ipa_argagg_value_list::superset_of_p().