GCC Middle and Back End API Reference
ipa-cp.h File Reference
This graph shows which files directly or indirectly include this file:

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)
 

Function Documentation

◆ ipa_vr_operation_and_type_effects() [1/2]

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().

◆ ipa_vr_operation_and_type_effects() [2/2]

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().

◆ ipa_vr_supported_type_p()

static bool ipa_vr_supported_type_p ( tree type)
inlinestatic

◆ values_equal_for_ipcp_p()