21#ifndef GCC_IPA_UTILS_H
22#define GCC_IPA_UTILS_H
47 struct cgraph_node *src,
bool preserve_body =
false);
79 bool *copletep =
NULL,
80 void **cache_token =
NULL,
81 bool speuclative =
false);
129inline vec <cgraph_node *>
131 bool *completep =
NULL,
132 void **cache_token =
NULL,
133 bool speculative =
false)
143 completep, cache_token,
149inline vec <cgraph_node *>
152 bool *completep =
NULL,
153 void **cache_token =
NULL)
161 completep, cache_token);
255 return !strcmp (
"<anon>",
symbol_table * symtab
Definition cgraph.cc:79
@ IPA_SSA_AFTER_INLINING
Definition cgraph.h:2517
bool usable_p() const
Definition cgraph.h:1833
HOST_WIDE_INT otr_token
Definition cgraph.h:1849
tree otr_type
Definition cgraph.h:1851
enum symtab_state state
Definition cgraph.h:2819
bool verbose
Definition collect-utils.cc:35
const union tree_node * const_tree
Definition coretypes.h:98
class bitmap_head * bitmap
Definition coretypes.h:51
union tree_node * tree
Definition coretypes.h:97
static struct table_elt * insert(rtx, struct table_elt *, unsigned, machine_mode)
@ INCREMENTAL_LINK_LTO
Definition flag-types.h:390
void update_type_inheritance_graph(void)
Definition ipa-devirt.cc:3605
void set_type_canonical_for_odr_type(tree type, tree canonical)
Definition ipa-devirt.cc:2145
void register_odr_type(tree type)
Definition ipa-devirt.cc:2170
static bool odr_types_equivalent_p(tree, tree, bool, bool *, hash_set< type_pair > *, location_t, location_t)
Definition ipa-devirt.cc:1291
bool odr_based_tbaa_p(const_tree type)
Definition ipa-devirt.cc:2129
void warn_types_mismatch(tree t1, tree t2, location_t loc1, location_t loc2)
Definition ipa-devirt.cc:1066
bool thunk_expansion
Definition ipa-devirt.cc:185
struct cgraph_node * try_speculative_devirtualization(tree otr_type, HOST_WIDE_INT otr_token, ipa_polymorphic_call_context ctx)
Definition ipa-devirt.cc:3689
bool vtable_pointer_value_to_vtable(const_tree t, tree *v, unsigned HOST_WIDE_INT *offset)
Definition ipa-devirt.cc:2909
bool type_all_derivations_known_p(const_tree t)
Definition ipa-devirt.cc:249
bool odr_or_derived_type_p(const_tree t)
Definition ipa-devirt.cc:514
tree obj_type_ref_class(const_tree ref, bool for_dump_p)
Definition ipa-devirt.cc:1987
bool types_must_be_same_for_odr(tree t1, tree t2)
Definition ipa-devirt.cc:484
void dump_possible_polymorphic_call_targets(FILE *f, tree otr_type, HOST_WIDE_INT otr_token, const ipa_polymorphic_call_context &ctx, bool verbose)
Definition ipa-devirt.cc:3494
void compare_virtual_tables(varpool_node *prevailing, varpool_node *vtable)
Definition ipa-devirt.cc:731
void register_odr_enum(tree t)
Definition ipa-devirt.cc:4233
bool types_odr_comparable(tree t1, tree t2)
Definition ipa-devirt.cc:472
tree subbinfo_with_vtable_at_offset(tree binfo, unsigned HOST_WIDE_INT offset, tree vtable)
Definition ipa-devirt.cc:2876
bool possible_polymorphic_call_target_p(tree otr_type, HOST_WIDE_INT otr_token, const ipa_polymorphic_call_context &ctx, struct cgraph_node *n)
Definition ipa-devirt.cc:3548
void build_type_inheritance_graph(void)
Definition ipa-devirt.cc:2352
tree vtable_pointer_value_to_binfo(const_tree t)
Definition ipa-devirt.cc:2956
void rebuild_type_inheritance_graph()
Definition ipa-devirt.cc:2852
vec< cgraph_node * > possible_polymorphic_call_targets(tree otr_type, HOST_WIDE_INT otr_token, ipa_polymorphic_call_context context, bool *completep, void **cache_token, bool speculative)
Definition ipa-devirt.cc:3119
bool odr_type_violation_reported_p(tree type)
Definition ipa-devirt.cc:2162
tree prevailing_odr_type(tree type)
Definition ipa-devirt.cc:2109
odr_type get_odr_type(tree type, bool insert)
Definition ipa-devirt.cc:2014
bool type_known_to_have_no_derivations_p(tree t)
Definition ipa-devirt.cc:2210
void enable_odr_based_tbaa(tree type)
Definition ipa-devirt.cc:2120
void ipa_icf_cc_finalize(void)
Definition ipa-icf.cc:3735
bool contains_polymorphic_type_p(const_tree type)
Definition ipa-polymorphic-call.cc:53
tree polymorphic_ctor_dtor_p(tree fn, bool check_clones)
Definition ipa-polymorphic-call.cc:489
bool decl_maybe_in_construction_p(tree base, tree outer_type, gimple *call, tree function)
Definition ipa-polymorphic-call.cc:545
tree inlined_polymorphic_ctor_dtor_block_p(tree block, bool check_clones)
Definition ipa-polymorphic-call.cc:518
void ipa_profile_cc_finalize(void)
Definition ipa-profile.cc:1090
bool ipa_propagate_frequency(struct cgraph_node *node)
Definition ipa-profile.cc:649
bool builtin_safe_for_const_function_p(bool *looping, tree callee)
Definition ipa-pure-const.cc:527
bool ipa_make_function_pure(struct cgraph_node *node, bool looping, bool local)
Definition ipa-pure-const.cc:1536
void warn_function_returns_nonnull(tree decl)
Definition ipa-pure-const.cc:301
bool finite_function_p()
Definition ipa-pure-const.cc:1022
bool ipa_make_function_const(struct cgraph_node *node, bool looping, bool local)
Definition ipa-pure-const.cc:1499
void ipa_sra_cc_finalize(void)
Definition ipa-sra.cc:4744
void ipa_merge_profiles(struct cgraph_node *dst, struct cgraph_node *src, bool preserve_body)
Definition ipa-utils.cc:397
bool ipa_edge_within_scc(struct cgraph_edge *cs)
Definition ipa-utils.cc:262
bitmap find_always_executed_bbs(function *fun, bool assume_return_or_eh)
Definition ipa-utils.cc:829
vec< cgraph_node * > ipa_get_nodes_in_cycle(struct cgraph_node *node)
Definition ipa-utils.cc:245
int ipa_reduced_postorder(struct cgraph_node **order, bool reduce, bool(*ignore_edge)(struct cgraph_edge *))
Definition ipa-utils.cc:172
bool recursive_call_p(tree func, tree dest)
Definition ipa-utils.cc:767
int ipa_reverse_postorder(struct cgraph_node **order)
Definition ipa-utils.cc:286
tree get_base_var(tree t)
Definition ipa-utils.cc:363
bool stmt_may_terminate_function_p(function *fun, gimple *stmt, bool assume_return_or_eh)
Definition ipa-utils.cc:794
void ipa_print_order(FILE *out, const char *note, struct cgraph_node **order, int count)
Definition ipa-utils.cc:54
void ipa_free_postorder_info(void)
Definition ipa-utils.cc:227
bool odr_type_p(const_tree)
Definition ipa-utils.h:269
const char * get_odr_name_for_type(tree type)
Definition ipa-utils.h:282
odr_type_d * odr_type
Definition ipa-utils.h:71
bool lto_streaming_expected_p()
Definition ipa-utils.h:296
bool type_in_anonymous_namespace_p(const_tree t)
Definition ipa-utils.h:248
bool type_with_linkage_p(const_tree t)
Definition ipa-utils.h:217
bool polymorphic_type_binfo_p(const_tree binfo)
Definition ipa-utils.h:208
T as_a(U *p)
Definition is-a.h:253
Definition custom-sarif-properties/state-graphs.h:33
Definition function.h:249
Definition ipa-utils.h:24
int scc_no
Definition ipa-utils.h:29
bool new_node
Definition ipa-utils.h:30
bool on_stack
Definition ipa-utils.h:31
void * aux
Definition ipa-utils.h:33
int dfn_number
Definition ipa-utils.h:25
struct cgraph_node * next_cycle
Definition ipa-utils.h:32
int low_link
Definition ipa-utils.h:26
Definition ipa-devirt.cc:204
Definition gengtype.h:252
#define NULL
Definition system.h:58
#define gcc_checking_assert(EXPR)
Definition system.h:826
tree current_function_decl
Definition toplev.cc:129
unsigned HOST_WIDE_INT tree_to_uhwi(const_tree t)
Definition tree.cc:6716
#define TYPE_NAME(NODE)
Definition tree.h:2443
#define DECL_ASSEMBLER_NAME(NODE)
Definition tree.h:3392
#define BINFO_TYPE(NODE)
Definition tree.h:2788
#define OBJ_TYPE_REF_TOKEN(NODE)
Definition tree.h:1514
#define TYPE_STUB_DECL(NODE)
Definition tree.h:2555
#define RECORD_OR_UNION_TYPE_P(TYPE)
Definition tree.h:698
#define TYPE_MAIN_VARIANT(NODE)
Definition tree.h:2445
#define TREE_CODE(NODE)
Definition tree.h:325
#define IDENTIFIER_POINTER(NODE)
Definition tree.h:1238
#define TREE_PUBLIC(NODE)
Definition tree.h:875
#define TYPE_BINFO(NODE)
Definition tree.h:2752
#define DECL_ASSEMBLER_NAME_SET_P(NODE)
Definition tree.h:3406
#define NULL_TREE
Definition tree.h:318
#define BINFO_VTABLE(NODE)
Definition tree.h:2803
#define TYPE_CONTEXT(NODE)
Definition tree.h:2446