re PR gcov-profile/34610 (ICE with "-fprofile-arcs -fopenmp")
commit135a171d9eac312352f58e0c09abac9156d9fbda
authorJakub Jelinek <jakub@redhat.com>
Sat, 19 Jan 2008 17:49:46 +0000 (19 18:49 +0100)
committerJakub Jelinek <jakub@gcc.gnu.org>
Sat, 19 Jan 2008 17:49:46 +0000 (19 18:49 +0100)
treec47ee4cdc097d5f98d818d66731d4ecf07beeff8
parentd7e2fcd0038214e3e3d9301fa7f22cccb54de009
re PR gcov-profile/34610 (ICE with "-fprofile-arcs -fopenmp")

PR gcov-profile/34610
* tree-cfg.c (make_edges): Mark both outgoing edges from
OMP_CONTINUE and from OMP_FOR as EDGE_ABNORMAL.
* omp-low.c (expand_omp_for): Clear EDGE_ABNORMAL bits
from OMP_FOR and OMP_CONTINUE outgoing edges.

* tree-profile.c (tree_profiling): Return early if
cfun->after_tree_profile != 0.  Set cfun->after_tree_profile
at the end.
* omp-low.c (expand_omp_parallel): Copy after_tree_profile
from cfun to child_cfun.
* function.h (struct function): Add after_tree_profile bit.

* gcc.dg/gomp/pr34610.c: New test.

From-SVN: r131653
gcc/ChangeLog
gcc/function.h
gcc/omp-low.c
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/gomp/pr34610.c [new file with mode: 0644]
gcc/tree-cfg.c
gcc/tree-profile.c