On Fri, Jun 30, 2017 at 7:18 PM, Segher Boessenkool <seg...@kernel.crashing.org> wrote: > On Fri, Jun 30, 2017 at 10:36:27PM +0100, Ramana Radhakrishnan wrote: >> On Fri, Jun 30, 2017 at 2:36 PM, David Edelsohn <dje....@gmail.com> wrote: >> > Convert the rs6000 port to use the new API for branch probabilities. >> > >> > Okay? >> > >> > Thanks, David >> > >> > * config/rs6000/rs6000.c (emit_unlikely_jump): Adjust to new branch >> > probability data type. >> > >> > Index: rs6000.c >> > =================================================================== >> > --- rs6000.c (revision 249839) >> > +++ rs6000.c (working copy) >> > @@ -23514,10 +23514,9 @@ >> > static void >> > emit_unlikely_jump (rtx cond, rtx label) >> > { >> > - int very_unlikely = REG_BR_PROB_BASE / 100 - 1; >> > rtx x = gen_rtx_IF_THEN_ELSE (VOIDmode, cond, label, pc_rtx); >> > rtx_insn *insn = emit_jump_insn (gen_rtx_SET (pc_rtx, x)); >> > - add_int_reg_note (insn, REG_BR_PROB, very_unlikely); >> > + add_int_reg_note (insn, REG_BR_PROB, profile_probability::very_unlikely >> > ()); >> >> Hmmm isn't this very unlikely to work :) ? >> >> I used this as inspiration to do this for the arm ports but >> add_int_reg_note expects an integer but very_unlikely returns >> profile_probability ... > > It probably should be converted using to_reg_br_prob_base ?
The comments in profile-count.h state that this should go away. We need advice from Honza about the preferred way to transform these idioms. Thanks, David