GCC Middle and Back End API Reference
|
#include <ipa-modref-tree.h>
Public Member Functions | |
modref_tree () | |
modref_base_node< T > * | insert_base (T base, T ref, unsigned int max_bases, bool *changed=NULL) |
bool | insert (unsigned int max_bases, unsigned int max_refs, unsigned int max_accesses, T base, T ref, modref_access_node a, bool record_adjustments) |
bool | insert (tree fndecl, T base, T ref, const modref_access_node &a, bool record_adjustments) |
void | cleanup () |
bool | merge (unsigned int max_bases, unsigned int max_refs, unsigned int max_accesses, modref_tree< T > *other, vec< modref_parm_map > *parm_map, modref_parm_map *static_chain_map, bool record_accesses, bool promote_unknown_to_global=false) |
bool | merge (tree fndecl, modref_tree< T > *other, vec< modref_parm_map > *parm_map, modref_parm_map *static_chain_map, bool record_accesses, bool promote_unknown_to_global=false) |
void | copy_from (modref_tree< T > *other) |
modref_base_node< T > * | search (T base) |
bool | global_access_p () |
void | collapse () |
~modref_tree () | |
void | remap_params (vec< int > *map) |
Static Public Member Functions | |
static modref_tree< T > * | create_ggc () |
Data Fields | |
vec< modref_base_node< T > *, va_gc > * | bases |
bool | every_base |
Access tree for a single function.
|
inline |
|
inline |
References modref_tree< T >::collapse().
|
inline |
|
inline |
References modref_tree< T >::bases, modref_base_node< T >::collapse(), modref_tree< T >::every_base, FOR_EACH_VEC_SAFE_ELT, ggc_free(), i, NULL, and vec_free().
Referenced by modref_tree< T >::insert(), ipa_merge_modref_summary_after_inlining(), modref_tree< T >::merge(), and modref_tree< T >::~modref_tree().
|
inline |
References INT_MAX, modref_tree< T >::merge(), and NULL.
Referenced by modref_summaries::duplicate(), modref_summaries_lto::duplicate(), and modref_tree< T >::merge().
|
inlinestatic |
References ggc_alloc_no_dtor().
Referenced by modref_summaries::duplicate(), modref_summaries_lto::duplicate(), and modref_tree< T >::merge().
|
inline |
References modref_ref_node< T >::accesses, modref_tree< T >::bases, modref_ref_node< T >::every_access, modref_tree< T >::every_base, modref_base_node< T >::every_ref, FOR_EACH_VEC_SAFE_ELT, i, MODREF_GLOBAL_MEMORY_PARM, MODREF_UNKNOWN_PARM, modref_access_node::parm_index, and modref_base_node< T >::refs.
Referenced by modref_summary::finalize().
|
inline |
References a, insert(), and opt_for_fn.
|
inline |
References a, modref_base_node< T >::base, changed, modref_base_node< T >::collapse(), modref_tree< T >::collapse(), dump_file, modref_ref_node< T >::every_access, modref_tree< T >::every_base, modref_base_node< T >::every_ref, gcc_checking_assert, modref_ref_node< T >::insert_access(), modref_tree< T >::insert_base(), modref_base_node< T >::insert_ref(), known_eq, known_le, known_lt, NULL, modref_ref_node< T >::ref, and modref_tree< T >::search().
|
inline |
References modref_tree< T >::bases, changed, dump_file, modref_tree< T >::every_base, ggc_alloc(), NULL, modref_tree< T >::search(), and vec_safe_push().
Referenced by modref_tree< T >::insert(), and modref_tree< T >::merge().
|
inline |
References modref_tree< T >::merge(), and opt_for_fn.
|
inline |
References a, modref_ref_node< T >::accesses, modref_base_node< T >::base, modref_tree< T >::bases, changed, modref_tree< T >::cleanup(), modref_base_node< T >::collapse(), modref_tree< T >::collapse(), modref_tree< T >::copy_from(), modref_tree< T >::create_ggc(), modref_ref_node< T >::every_access, modref_tree< T >::every_base, modref_base_node< T >::every_ref, FOR_EACH_VEC_SAFE_ELT, ggc_delete(), i, insert(), modref_tree< T >::insert_base(), MODREF_GLOBAL_MEMORY_PARM, MODREF_LOCAL_MEMORY_PARM, MODREF_STATIC_CHAIN_PARM, MODREF_UNKNOWN_PARM, modref_access_node::parm_index, modref_parm_map::parm_index, modref_parm_map::parm_offset, modref_parm_map::parm_offset_known, modref_ref_node< T >::ref, modref_base_node< T >::refs, and unspecified_modref_access_node.
Referenced by modref_tree< T >::copy_from(), ipa_merge_modref_summary_after_inlining(), and modref_tree< T >::merge().
|
inline |
|
inline |
References modref_base_node< T >::base, modref_tree< T >::bases, FOR_EACH_VEC_SAFE_ELT, i, and NULL.
Referenced by modref_tree< T >::insert(), and modref_tree< T >::insert_base().
vec<modref_base_node <T> *, va_gc>* modref_tree< T >::bases |
Referenced by modref_tree< T >::cleanup(), modref_tree< T >::collapse(), dse_optimize_call(), dump_lto_records(), dump_records(), modref_summary::finalize(), modref_tree< T >::global_access_p(), gt_ggc_mx(), gt_ggc_mx(), modref_tree< T >::insert_base(), modref_tree< T >::merge(), modref_may_conflict(), modref_tree< T >::remap_params(), modref_tree< T >::search(), and visit_reference_op_call().
bool modref_tree< T >::every_base |
Referenced by modref_tree< T >::collapse(), dump_lto_records(), dump_records(), modref_summary::finalize(), modref_tree< T >::global_access_p(), modref_tree< T >::insert(), modref_tree< T >::insert_base(), modref_tree< T >::merge(), modref_may_conflict(), modref_summary::useful_p(), and modref_summary_lto::useful_p().