On Wed, 10 Jul 2019, Kewen.Lin wrote: > Hi all, > > I'd like to gentle ping the below patch: > https://gcc.gnu.org/ml/gcc-patches/2019-06/msg01225.html > > The previous version for more context/background: > https://gcc.gnu.org/ml/gcc-patches/2019-06/msg01126.html > > Thanks a lot in advance!
Again I would have hoped Bin to chime in here. Am I correct that doloop HW implementations are constrainted by a decrement of one? I see no code in the patch to constrain things this way. I'm not familiar with the group code at all but I would have expected the patch to only affect costing of IVs of the appropriate form (decrement one and possibly no uses besides the one in the compare/decrement). Since ivcanon already adds a canonical counter IV it's not necessary to generate an artificial candidate IV of the wanted style (that's something I might have expected as well). The rest should be just magic from the IVOPTs side? There might be the need to only consider at most one counter IV in the costing code. Richard. > > on 2019/6/20 下午8:16, Kewen.Lin wrote: > > Hi, > > > > Sorry, the previous patch is incomplete. > > New one attached. Sorry for inconvenience. > > > > on 2019/6/20 下午8:08, Kewen.Lin wrote: > >> Hi Segher, > >> > >>> On Wed, Jun 19, 2019 at 07:47:34PM +0800, Kewen.Lin wrote: > >>>> +/* Return true if count register for branch is supported. */ > >>>> + > >>>> +static bool > >>>> +rs6000_have_count_reg_decr_p () > >>>> +{ > >>>> + return flag_branch_on_count_reg; > >>>> +} > >>> > >>> rs6000 unconditionally supports these instructions, not just when that > >>> flag is set. If you need to look at the flag, the *caller* of this new > >>> hook should, not every implementation of the hook. So just "return true" > >>> here? > >> > >> Good point! Updated it as hookpod. > >> > >>>> +/* For doloop use, if the algothrim selects some candidate which > >>>> invalid for > >>> > >>> "algorithm", "which is invalid". > >> > >>>> + some cost like zero rather than original inifite cost. The point is > >>>> to > >>> > >>> "infinite" > >>> > >> > >> Thanks for catching! I should run spelling check next time. :) > >> > >> New version attached with comments addressed. > >> > >> > >> Thanks, > >> Kewen > >> > > -- Richard Biener <rguent...@suse.de> SUSE Linux GmbH, Maxfeldstrasse 5, 90409 Nuernberg, Germany; GF: Felix Imendörffer, Mary Higgins, Sri Rasiah; HRB 21284 (AG Nürnberg)