Hi,
[ posted earlier as part of "Don't dump low gimple functions in gimple
dump", https://gcc.gnu.org/ml/gcc-patches/2014-05/msg01586.html,
currently discussed at:
https://gcc.gnu.org/ml/gcc-patches/2015-05/msg02076.html ]
This patch adds a debug msg to dump_file in cgraph_node::add_new_function.
OK for trunk (after retesting)?
Thanks,
- Tom
Add debug msg to dump_file in add_new_function
2014-06-04 Tom de Vries <t...@codesourcery.com>
* cgraphunit.c (cgraph_node::add_new_function): Dump message on new
function.
* gcc.dg/gomp/notify-new-function-2.c: New test.
* gcc.dg/gomp/notify-new-function.c: Same.
---
gcc/cgraphunit.c | 14 ++++++++++++++
gcc/testsuite/gcc.dg/gomp/notify-new-function-2.c | 20 ++++++++++++++++++++
gcc/testsuite/gcc.dg/gomp/notify-new-function.c | 17 +++++++++++++++++
3 files changed, 51 insertions(+)
create mode 100644 gcc/testsuite/gcc.dg/gomp/notify-new-function-2.c
create mode 100644 gcc/testsuite/gcc.dg/gomp/notify-new-function.c
diff --git a/gcc/cgraphunit.c b/gcc/cgraphunit.c
index 8d97163..388c032 100644
--- a/gcc/cgraphunit.c
+++ b/gcc/cgraphunit.c
@@ -503,6 +503,20 @@ cgraph_node::add_new_function (tree fndecl, bool lowered)
{
gcc::pass_manager *passes = g->get_passes ();
cgraph_node *node;
+
+ if (dump_file)
+ {
+ const char *function_type = ((gimple_has_body_p (fndecl))
+ ? (lowered
+ ? "low gimple"
+ : "high gimple")
+ : "to-be-gimplified");
+ fprintf (dump_file,
+ "Added new %s function %s to callgraph\n",
+ function_type,
+ fndecl_name (fndecl));
+ }
+
switch (symtab->state)
{
case PARSING:
diff --git a/gcc/testsuite/gcc.dg/gomp/notify-new-function-2.c b/gcc/testsuite/gcc.dg/gomp/notify-new-function-2.c
new file mode 100644
index 0000000..b852261
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/gomp/notify-new-function-2.c
@@ -0,0 +1,20 @@
+/* { dg-do compile } */
+/* { dg-options "-O2 -fopenmp -fdump-tree-omplower" } */
+
+void __attribute__((noinline))
+baz (int *p)
+{
+}
+
+void
+foo (void)
+{
+ int p[2];
+ p[0] = 1;
+ p[1] = 3;
+ #pragma omp task firstprivate (p)
+ baz (p);
+}
+
+/* Check for new function notification in omplower dump. */
+/* { dg-final { scan-tree-dump-times "Added new high gimple function foo._omp_cpyfn.1 to callgraph" 1 "omplower" } } */
diff --git a/gcc/testsuite/gcc.dg/gomp/notify-new-function.c b/gcc/testsuite/gcc.dg/gomp/notify-new-function.c
new file mode 100644
index 0000000..4cf4dd3
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/gomp/notify-new-function.c
@@ -0,0 +1,17 @@
+/* { dg-do compile } */
+/* { dg-options "-O2 -fopenmp -fdump-tree-ompexp" } */
+
+int
+main (void)
+{
+#pragma omp parallel
+ {
+ extern void foo (void);
+ foo ();
+ }
+ return 0;
+}
+
+
+/* Check for new function notification in ompexp dump. */
+/* { dg-final { scan-tree-dump-times "Added new low gimple function main._omp_fn.0 to callgraph" 1 "ompexp" } } */
--
1.9.1