diff options
Diffstat (limited to 'gcc/lto/lto-symtab.c')
-rw-r--r-- | gcc/lto/lto-symtab.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/gcc/lto/lto-symtab.c b/gcc/lto/lto-symtab.c index ced6cf97908..2ebc07d4fb4 100644 --- a/gcc/lto/lto-symtab.c +++ b/gcc/lto/lto-symtab.c @@ -29,6 +29,7 @@ along with GCC; see the file COPYING3. If not see #include "plugin-api.h" #include "lto-streamer.h" #include "ipa-utils.h" +#include "ipa-inline.h" /* Replace the cgraph node NODE with PREVAILING_NODE in the cgraph, merging all edges and removing the old node. */ @@ -84,6 +85,12 @@ lto_cgraph_replace_node (struct cgraph_node *node, if (node->decl != prevailing_node->decl) cgraph_release_function_body (node); + /* Time profile merging */ + if (node->tp_first_run) + prevailing_node->tp_first_run = prevailing_node->tp_first_run ? + MIN (prevailing_node->tp_first_run, node->tp_first_run) : + node->tp_first_run; + /* Finally remove the replaced node. */ cgraph_remove_node (node); } |