On Thu, Oct 11, 2012 at 11:12 AM, Jakub Jelinek <ja...@redhat.com> wrote: > On Thu, Oct 11, 2012 at 10:31:58AM -0700, Xinliang David Li wrote: >> > +#define PROB_VERY_UNLIKELY (REG_BR_PROB_BASE / 2000 - 1) >> > +#define PROB_ALWAYS (REG_BR_PROB_BASE) >> > + >> >> >> Does it belong here ? -- looks like they can be generally useful for others. > > Perhaps, but then it would need to go on mainline first, and wait for a > merge from the trunk to asan. So, IMHO better to put it in now this way > and if mainline gets the macros moved from profile.c to a header, asan > branch can be then adjusted.
reasonable. The existing definitions are in predict.c. > >> > @@ -166,14 +167,15 @@ build_check_stmt (tree base, >> > >> > /* Create the bb that contains the crash block. */ >> > then_bb = create_empty_bb (cond_bb); >> >> Missing frequency update for then_bb ? > > I don't see other places which create very unlikely edges doing > that (e.g. trans-mem.c, omp-low.c, ...). Shall it be that > then_bb->frequency = cond_bb->frequency * PROB_VERY_UNLIKELY > / REG_BR_PROB_BASE; > and join_bb->frequency -= then_bb->frequency; ? That looks good to me. > join_bb is clearly misnamed, as then_bb is noreturn, so there is no > joining... > >> > gimple_set_location (g, location); >> > - gimple_seq_add_stmt (&seq, g); >> > + gsi_insert_after (&gsi, g, GSI_NEW_STMT); >> > + base_addr = gimple_assign_lhs (g); >> > >> >> >> Set base_addr name here? > > Why? I think nameless SSA_NAMEs are just fine for this. It makes the GIMPLE dump slightly more readable. thanks, David > > Jakub