diff options
Diffstat (limited to 'gcc/ipa-devirt.c')
-rw-r--r-- | gcc/ipa-devirt.c | 50 |
1 files changed, 25 insertions, 25 deletions
diff --git a/gcc/ipa-devirt.c b/gcc/ipa-devirt.c index 0d7c39b..80c6b73 100644 --- a/gcc/ipa-devirt.c +++ b/gcc/ipa-devirt.c @@ -544,9 +544,9 @@ build_type_inheritance_graph (void) /* We reconstruct the graph starting of types of all methods seen in the the unit. */ FOR_EACH_FUNCTION (n) - if (DECL_VIRTUAL_P (n->symbol.decl) - && symtab_real_symbol_p ((symtab_node)n)) - get_odr_type (method_class_type (TREE_TYPE (n->symbol.decl)), true); + if (DECL_VIRTUAL_P (n->decl) + && symtab_real_symbol_p (n)) + get_odr_type (method_class_type (TREE_TYPE (n->decl)), true); if (inheritance_dump_file) { dump_type_inheritance_graph (inheritance_dump_file); @@ -572,8 +572,8 @@ maybe_record_node (vec <cgraph_node *> &nodes, && !pointer_set_insert (inserted, target) && (target_node = cgraph_get_node (target)) != NULL && (TREE_PUBLIC (target) - || target_node->symbol.definition) - && symtab_real_symbol_p ((symtab_node)target_node)) + || target_node->definition) + && symtab_real_symbol_p (target_node)) { pointer_set_insert (cached_polymorphic_call_targets, target_node); @@ -627,7 +627,7 @@ record_binfo (vec <cgraph_node *> &nodes, if (TREE_CODE (vtable) == POINTER_PLUS_EXPR) vtable = TREE_OPERAND (TREE_OPERAND (vtable, 0), 0); vnode = varpool_get_node (vtable); - if (!vnode || !vnode->symbol.definition) + if (!vnode || !vnode->definition) return; } tree target = gimple_get_virt_method_for_binfo (otr_token, type_binfo); @@ -761,8 +761,8 @@ devirt_variable_node_removal_hook (struct varpool_node *n, void *d ATTRIBUTE_UNUSED) { if (cached_polymorphic_call_targets - && DECL_VIRTUAL_P (n->symbol.decl) - && type_in_anonymous_namespace_p (DECL_CONTEXT (n->symbol.decl))) + && DECL_VIRTUAL_P (n->decl) + && type_in_anonymous_namespace_p (DECL_CONTEXT (n->decl))) free_polymorphic_call_targets_hash (); } @@ -891,7 +891,7 @@ dump_possible_polymorphic_call_targets (FILE *f, final ? " (full list)" : " (partial list, may call to other unit)"); for (i = 0; i < targets.length (); i++) fprintf (f, " %s/%i", cgraph_node_name (targets[i]), - targets[i]->symbol.order); + targets[i]->order); fprintf (f, "\n"); } @@ -917,7 +917,7 @@ possible_polymorphic_call_target_p (tree otr_type, /* At a moment we allow middle end to dig out new external declarations as a targets of polymorphic calls. */ - if (!final && !n->symbol.definition) + if (!final && !n->definition) return true; return false; } @@ -938,10 +938,10 @@ update_type_inheritance_graph (void) /* We reconstruct the graph starting of types of all methods seen in the the unit. */ FOR_EACH_FUNCTION (n) - if (DECL_VIRTUAL_P (n->symbol.decl) - && !n->symbol.definition - && symtab_real_symbol_p ((symtab_node)n)) - get_odr_type (method_class_type (TREE_TYPE (n->symbol.decl)), true); + if (DECL_VIRTUAL_P (n->decl) + && !n->definition + && symtab_real_symbol_p (n)) + get_odr_type (method_class_type (TREE_TYPE (n->decl)), true); timevar_pop (TV_IPA_INHERITANCE); } @@ -955,13 +955,13 @@ likely_target_p (struct cgraph_node *n) { int flags; /* cxa_pure_virtual and similar things are not likely. */ - if (TREE_CODE (TREE_TYPE (n->symbol.decl)) != METHOD_TYPE) + if (TREE_CODE (TREE_TYPE (n->decl)) != METHOD_TYPE) return false; - flags = flags_from_decl_or_type (n->symbol.decl); + flags = flags_from_decl_or_type (n->decl); if (flags & ECF_NORETURN) return false; if (lookup_attribute ("cold", - DECL_ATTRIBUTES (n->symbol.decl))) + DECL_ATTRIBUTES (n->decl))) return false; if (n->frequency < NODE_FREQUENCY_NORMAL) return false; @@ -988,7 +988,7 @@ ipa_devirt (void) bool update = false; if (dump_file && n->indirect_calls) fprintf (dump_file, "\n\nProcesing function %s/%i\n", - cgraph_node_name (n), n->symbol.order); + cgraph_node_name (n), n->order); for (e = n->indirect_calls; e; e = e->next_callee) if (e->indirect_info->polymorphic) { @@ -1069,7 +1069,7 @@ ipa_devirt (void) } continue; } - if (!likely_target->symbol.definition) + if (!likely_target->definition) { if (dump_file) fprintf (dump_file, "Target is not an definition\n"); @@ -1080,7 +1080,7 @@ ipa_devirt (void) can handle these just well, it is common for programs to incorrectly with headers defining methods they are linked with. */ - if (DECL_EXTERNAL (likely_target->symbol.decl)) + if (DECL_EXTERNAL (likely_target->decl)) { if (dump_file) fprintf (dump_file, "Target is external\n"); @@ -1089,7 +1089,7 @@ ipa_devirt (void) } if (cgraph_function_body_availability (likely_target) <= AVAIL_OVERWRITABLE - && symtab_can_be_discarded ((symtab_node) likely_target)) + && symtab_can_be_discarded (likely_target)) { if (dump_file) fprintf (dump_file, "Target is overwritable\n"); @@ -1101,14 +1101,14 @@ ipa_devirt (void) if (dump_file) fprintf (dump_file, "Speculatively devirtualizing call in %s/%i to %s/%i\n", - cgraph_node_name (n), n->symbol.order, + cgraph_node_name (n), n->order, cgraph_node_name (likely_target), - likely_target->symbol.order); - if (!symtab_can_be_discarded ((symtab_node) likely_target)) + likely_target->order); + if (!symtab_can_be_discarded (likely_target)) { cgraph_node *alias; alias = cgraph (symtab_nonoverwritable_alias - ((symtab_node)likely_target)); + (likely_target)); if (alias) likely_target = alias; } |