diff options
author | Jan Hubicka <hubicka@ucw.cz> | 2014-08-21 08:18:48 +0200 |
---|---|---|
committer | Jan Hubicka <hubicka@gcc.gnu.org> | 2014-08-21 06:18:48 +0000 |
commit | 07db0f9bb354bd9a46e62c6d9960a9a3c40d1c15 (patch) | |
tree | 0f26a66adb521cd14338701fd3c485f3c20cfdb0 /gcc | |
parent | 65fa79c3dbf14ee9b24ec23b685fbdedeeadca98 (diff) | |
download | gcc-07db0f9bb354bd9a46e62c6d9960a9a3c40d1c15.zip gcc-07db0f9bb354bd9a46e62c6d9960a9a3c40d1c15.tar.gz gcc-07db0f9bb354bd9a46e62c6d9960a9a3c40d1c15.tar.bz2 |
tree-profile.c (tree_profiling): Skip external functions when doing coverage instrumentation.
* tree-profile.c (tree_profiling): Skip external functions
when doing coverage instrumentation.
* cgraphunit.c (compile): Do not assert that all nodes are reachable.
* gcc.dg/ipa/ctor-empty-1.c: Update template.
From-SVN: r214256
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/cgraphunit.c | 5 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/ipa/ctor-empty-1.c | 6 | ||||
-rw-r--r-- | gcc/tree-profile.c | 7 |
5 files changed, 20 insertions, 8 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index e997a32..69a1d38 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2014-08-20 Jan Hubicka <hubicka@ucw.cz> + + * tree-profile.c (tree_profiling): Skip external functions + when doing coverage instrumentation. + * cgraphunit.c (compile): Do not assert that all nodes are reachable. + 2014-08-20 Bill Schmidt <wschmidt@linux.vnet.ibm.com> * config/rs6000/altivec.h (vec_cpsgn): New #define. diff --git a/gcc/cgraphunit.c b/gcc/cgraphunit.c index 20294b3..0bbe9f6 100644 --- a/gcc/cgraphunit.c +++ b/gcc/cgraphunit.c @@ -2209,11 +2209,6 @@ compile (void) cgraph_materialize_all_clones (); bitmap_obstack_initialize (NULL); execute_ipa_pass_list (g->get_passes ()->all_late_ipa_passes); -#ifdef ENABLE_CHECKING - symtab_node::verify_symtab_nodes (); - /* Verify late IPA passes cleaned up after themselves. */ - gcc_assert (!symtab_remove_unreachable_nodes (false, dump_file)); -#endif bitmap_obstack_release (NULL); mark_functions_to_output (); diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index c5b9d83..e1367e8 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -19,6 +19,10 @@ 2014-08-20 Jan Hubicka <hubicka@ucw.cz> + * gcc.dg/ipa/ctor-empty-1.c: Update template. + +2014-08-20 Jan Hubicka <hubicka@ucw.cz> + * g++.dg/ipa/devirt-37.C: Fix testcase. 2014-08-20 Martin Jambor <mjambor@suse.cz> diff --git a/gcc/testsuite/gcc.dg/ipa/ctor-empty-1.c b/gcc/testsuite/gcc.dg/ipa/ctor-empty-1.c index bb8e7af..e678c6d 100644 --- a/gcc/testsuite/gcc.dg/ipa/ctor-empty-1.c +++ b/gcc/testsuite/gcc.dg/ipa/ctor-empty-1.c @@ -1,8 +1,8 @@ /* { dg-do compile } */ -/* { dg-options "-O3 -c -fdump-ipa-cgraph" } */ +/* { dg-options "-O3 -c -fdump-ipa-free-inline-summary" } */ static __attribute__((constructor)) void empty_constructor() { } -/* { dg-final { scan-ipa-dump "Reclaiming functions: empty_constructor" "cgraph" } } */ -/* { dg-final { cleanup-ipa-dump "cgraph" } } */ +/* { dg-final { scan-ipa-dump "Reclaiming functions: empty_constructor" "free-inline-summary" } } */ +/* { dg-final { cleanup-ipa-dump "free-inline-summary" } } */ diff --git a/gcc/tree-profile.c b/gcc/tree-profile.c index 6ab06e6..31d305b 100644 --- a/gcc/tree-profile.c +++ b/gcc/tree-profile.c @@ -578,6 +578,13 @@ tree_profiling (void) if (DECL_SOURCE_LOCATION (node->decl) == BUILTINS_LOCATION) continue; + /* Do not instrument extern inline functions when testing coverage. + While this is not perfectly consistent (early inlined extern inlines + will get acocunted), testsuite expects that. */ + if (DECL_EXTERNAL (node->decl) + && flag_test_coverage) + continue; + push_cfun (DECL_STRUCT_FUNCTION (node->decl)); /* Local pure-const may imply need to fixup the cfg. */ |