> Hello. > > Sorry for this breakage, it's actually the same mistake I did in the PR > that belongs to the test I broke. I overlooked the ICE in log file. > > I'm testing the patch, may I install it after it survives regression > tests?
OK, thanks! Honza > > Martin > >From 20e5419136ec26ed009ca93eedccd2582b65dd36 Mon Sep 17 00:00:00 2001 > From: marxin <mli...@suse.cz> > Date: Mon, 12 Jun 2017 09:50:06 +0200 > Subject: [PATCH] Create an extra BB in profile-generate (PR > tree-optimization/81041). > > gcc/ChangeLog: > > 2017-06-12 Martin Liska <mli...@suse.cz> > > PR tree-optimization/81041 > * tree-profile.c (gimple_gen_ic_func_profiler): > Create an extra BB in profile-generate > (gimple_gen_time_profiler): Likewise. > --- > gcc/tree-profile.c | 8 ++++++++ > 1 file changed, 8 insertions(+) > > diff --git a/gcc/tree-profile.c b/gcc/tree-profile.c > index f5c06684402..2ae4b69b68e 100644 > --- a/gcc/tree-profile.c > +++ b/gcc/tree-profile.c > @@ -429,6 +429,10 @@ gimple_gen_ic_func_profiler (void) > basic_block cond_bb = split_edge (single_succ_edge (entry)); > basic_block update_bb = split_edge (single_succ_edge (cond_bb)); > > + /* We need to do an extra split in order to not create an input > + for a possible PHI node. */ > + split_edge (single_succ_edge (update_bb)); > + > edge true_edge = single_succ_edge (cond_bb); > true_edge->flags = EDGE_TRUE_VALUE; > > @@ -487,6 +491,10 @@ gimple_gen_time_profiler (unsigned tag, unsigned base) > basic_block cond_bb = split_edge (single_succ_edge (entry)); > basic_block update_bb = split_edge (single_succ_edge (cond_bb)); > > + /* We need to do an extra split in order to not create an input > + for a possible PHI node. */ > + split_edge (single_succ_edge (update_bb)); > + > edge true_edge = single_succ_edge (cond_bb); > true_edge->flags = EDGE_TRUE_VALUE; > true_edge->probability = PROB_UNLIKELY; > -- > 2.13.1 >