Commit 07db0f9b by Jan Hubicka Committed by Jan Hubicka

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
parent 65fa79c3
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.
......
......@@ -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 ();
......
......@@ -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>
......
/* { 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" } } */
......@@ -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. */
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment