aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-profile.c
diff options
context:
space:
mode:
authorMartin Liska <mliska@suse.cz>2016-11-29 14:20:00 +0100
committerMartin Liska <marxin@gcc.gnu.org>2016-11-29 13:20:00 +0000
commit248cce34f1003712c39639980d4cb549ef24834a (patch)
treeab8ee93531f114d48e6b1934ff65f2087f1c4c79 /gcc/tree-profile.c
parentf4214e239fd52de27a97f402d0b4c01755a549d9 (diff)
downloadgcc-248cce34f1003712c39639980d4cb549ef24834a.zip
gcc-248cce34f1003712c39639980d4cb549ef24834a.tar.gz
gcc-248cce34f1003712c39639980d4cb549ef24834a.tar.bz2
Make one extra BB to prevent PHI argument clash (PR
PR gcov-profile/78582 * gcc.dg/pr78582.c: New test. PR gcov-profile/78582 * tree-profile.c (gimple_gen_time_profiler): Make one extra BB to prevent PHI argument clash. From-SVN: r242958
Diffstat (limited to 'gcc/tree-profile.c')
-rw-r--r--gcc/tree-profile.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/gcc/tree-profile.c b/gcc/tree-profile.c
index a4f9d11..77fb86e 100644
--- a/gcc/tree-profile.c
+++ b/gcc/tree-profile.c
@@ -461,10 +461,10 @@ void
gimple_gen_time_profiler (unsigned tag, unsigned base)
{
tree type = get_gcov_type ();
- basic_block cond_bb
- = split_edge (single_succ_edge (ENTRY_BLOCK_PTR_FOR_FN (cfun)));
-
+ basic_block entry = ENTRY_BLOCK_PTR_FOR_FN (cfun);
+ basic_block cond_bb = split_edge (single_succ_edge (entry));
basic_block update_bb = split_edge (single_succ_edge (cond_bb));
+ split_edge (single_succ_edge (update_bb));
edge true_edge = single_succ_edge (cond_bb);
true_edge->flags = EDGE_TRUE_VALUE;