diff options
Diffstat (limited to 'gcc/cgraph.c')
-rw-r--r-- | gcc/cgraph.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/gcc/cgraph.c b/gcc/cgraph.c index 95f4411..781d3b0 100644 --- a/gcc/cgraph.c +++ b/gcc/cgraph.c @@ -1897,6 +1897,8 @@ cgraph_clone_node (struct cgraph_node *n, gcov_type count, int freq, new_node->analyzed = n->analyzed; new_node->local = n->local; new_node->local.externally_visible = false; + new_node->local.local = true; + new_node->local.vtable_method = false; new_node->global = n->global; new_node->rtl = n->rtl; new_node->count = count; @@ -2314,7 +2316,7 @@ cgraph_propagate_frequency (struct cgraph_node *node) { bool maybe_unlikely_executed = true, maybe_executed_once = true; struct cgraph_edge *edge; - if (node->needed || node->local.externally_visible) + if (!node->local.local) return false; gcc_assert (node->analyzed); if (node->frequency == NODE_FREQUENCY_HOT) |