http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49452
--- Comment #24 from Eric Botcazou <ebotcazou at gcc dot gnu.org> 2011-09-16 21:24:30 UTC --- > It seems postreload.c should be changed to the following to avoid combining > > --- postreload.c (revision 178904) > +++ postreload.c (working copy) > @@ -1312,7 +1312,7 @@ reload_combine (void) > is and then later disable any optimization that would cross it. */ > if (LABEL_P (insn)) > last_label_ruid = reload_combine_ruid; > - else if (BARRIER_P (insn)) > + else if (BARRIER_P (insn) || BLOCKAGE_P (insn)) > for (r = 0; r < FIRST_PSEUDO_REGISTER; r++) > if (! fixed_regs[r]) > reg_state[r].use_index = RELOAD_COMBINE_MAX_USES; > > BLOCKAGE_P (insn) is used to detect if insn is a blockage insn, is there any > available function/macro that implement this functionality? volatile_insn_p would seem to be appropriate.