From: Tom de Vries Date: Mon, 8 Jun 2015 08:57:39 +0000 (+0000) Subject: Add debug msg to dump_file in add_new_function X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=9452ef0663208d3908cbec66f1521b1f9e82d14a;p=gcc.git Add debug msg to dump_file in add_new_function 2015-06-08 Tom de Vries PR tree-optimization/66435 * 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-3.c: Same. * gcc.dg/gomp/notify-new-function.c: Same. From-SVN: r224209 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index e1bd305f973..bd1c4b0a37c 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2015-06-08 Tom de Vries + + PR tree-optimization/66435 + * cgraphunit.c (cgraph_node::add_new_function): Dump message on new + function. + 2015-06-06 Jan Hubicka * alias.c (get_alias_set): Be ready for TYPE_CANONICAL diff --git a/gcc/cgraphunit.c b/gcc/cgraphunit.c index 722c4f4d063..6a1f0c1dd2f 100644 --- a/gcc/cgraphunit.c +++ b/gcc/cgraphunit.c @@ -507,6 +507,23 @@ cgraph_node::add_new_function (tree fndecl, bool lowered) { gcc::pass_manager *passes = g->get_passes (); cgraph_node *node; + + if (dump_file) + { + struct function *fn = DECL_STRUCT_FUNCTION (fndecl); + const char *function_type = ((gimple_has_body_p (fndecl)) + ? (lowered + ? (gimple_in_ssa_p (fn) + ? "ssa gimple" + : "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/ChangeLog b/gcc/testsuite/ChangeLog index 71d38586c44..913bd036e9a 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,10 @@ +2015-06-08 Tom de Vries + + PR tree-optimization/66435 + * gcc.dg/gomp/notify-new-function-2.c: New test. + * gcc.dg/gomp/notify-new-function-3.c: Same. + * gcc.dg/gomp/notify-new-function.c: Same. + 2015-06-06 Jan Hubicka * gfortran.dg/lto/bind_c-1_0.f90: New testcase. 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 00000000000..e9c893908c6 --- /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-3.c b/gcc/testsuite/gcc.dg/gomp/notify-new-function-3.c new file mode 100644 index 00000000000..f173b8e2367 --- /dev/null +++ b/gcc/testsuite/gcc.dg/gomp/notify-new-function-3.c @@ -0,0 +1,14 @@ +/* { dg-do compile } */ +/* { dg-options "-O2 -ftree-parallelize-loops=2 -fdump-tree-ompexpssa" } */ + +void +foo (int *__restrict a, int *__restrict b, int *__restrict c) +{ + int i; + for (i = 0; i < 1000; ++i) + c[i] = a[i] + b[i]; +} + + +/* Check for new function notification in ompexpssa dump. */ +/* { dg-final { scan-tree-dump-times "Added new ssa gimple function foo\\._loopfn\\.0 to callgraph" 1 "ompexpssa" } } */ 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 00000000000..4770a6bda8c --- /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" } } */