aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJan Hubicka <hubicka@ucw.cz>2014-08-21 08:18:48 +0200
committerJan Hubicka <hubicka@gcc.gnu.org>2014-08-21 06:18:48 +0000
commit07db0f9bb354bd9a46e62c6d9960a9a3c40d1c15 (patch)
tree0f26a66adb521cd14338701fd3c485f3c20cfdb0 /gcc
parent65fa79c3dbf14ee9b24ec23b685fbdedeeadca98 (diff)
downloadgcc-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/ChangeLog6
-rw-r--r--gcc/cgraphunit.c5
-rw-r--r--gcc/testsuite/ChangeLog4
-rw-r--r--gcc/testsuite/gcc.dg/ipa/ctor-empty-1.c6
-rw-r--r--gcc/tree-profile.c7
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. */