Hi Pat, On Mon, Aug 28, 2017 at 04:34:16PM -0500, Pat Haugen wrote: > The following patch allows shrink-wrapping to succeed in the presence of > non-volatile CR save/restore. The movesi_from_cr define_insn used to > list all CRs as used, even though it's only the non-volatile values that > we are interested in saving/restoring. This prevented the prolog from > being moved past the early exit test because that compare was defining a > register used in the prolog (a volatile CR). The patch removes the > mentions of the volatile CRs and renames the functions involved so that > it's hopefully clear they are for prolog generation only.
It is spelled "prologue" (prolog is a computer language). > --- gcc/config/rs6000/rs6000.c (revision 251389) > +++ gcc/config/rs6000/rs6000.c (working copy) > @@ -26083,10 +26083,14 @@ rs6000_emit_savres_rtx (rs6000_stack_t * > return insn; > } > > -/* Emit code to store CR fields that need to be saved into REG. */ > +/* Emit prolog code to store CR fields that need to be saved into REG. This Super nit: two spaces after a full stop. Okay for trunk with those fixed. Thanks! Segher