Currently we generate an if with probability set on only one of the two edges:
<bb 5> [0.00%] [count: INV]:
_5 = mask.3[iter.6_3];
if (_5 == 0)
goto <bb 6>; [INV] [count: INV]
else
goto <bb 2>; [100.00%] [count: INV]
Add the missing edge probability, and set the split to unlikely/likely:
if (_5 == 0)
goto <bb 6>; [19.99%] [count: INV]
else
goto <bb 2>; [80.01%] [count: INV]
2017-08-04 Tom de Vries <tom@codesourcery.com>
* omp-simd-clone.c (simd_clone_adjust): Add missing edge probability.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@250865
138bc75d-0d04-0410-961f-
82ee72b054a4
+2017-08-04 Tom de Vries <tom@codesourcery.com>
+
+ * omp-simd-clone.c (simd_clone_adjust): Add missing edge probability.
+
2017-08-03 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin):
g = gimple_build_cond (EQ_EXPR, mask, build_zero_cst (TREE_TYPE (mask)),
NULL, NULL);
gsi_insert_after (&gsi, g, GSI_CONTINUE_LINKING);
- make_edge (loop->header, incr_bb, EDGE_TRUE_VALUE);
- FALLTHRU_EDGE (loop->header)->flags = EDGE_FALSE_VALUE;
+ edge e = make_edge (loop->header, incr_bb, EDGE_TRUE_VALUE);
+ e->probability = profile_probability::unlikely ().guessed ();
+ edge fallthru = FALLTHRU_EDGE (loop->header);
+ fallthru->flags = EDGE_FALSE_VALUE;
+ fallthru->probability = profile_probability::likely ().guessed ();
}
basic_block latch_bb = NULL;