PR gcov-profile/34610
authorjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 19 Jan 2008 17:49:46 +0000 (17:49 +0000)
committerjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 19 Jan 2008 17:49:46 +0000 (17:49 +0000)
commitb3a3ddece257f50649db88afb8e2248d91fa883b
treec47ee4cdc097d5f98d818d66731d4ecf07beeff8
parentf503118e3c5cee82ad9a2d58f5c6848faaaf4c9a
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@131653 138bc75d-0d04-0410-961f-82ee72b054a4
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