On Wed, Apr 26, 2017 at 3:23 PM, Richard Biener <richard.guent...@gmail.com> wrote: > On Wed, Apr 26, 2017 at 3:37 PM, Bin.Cheng <amker.ch...@gmail.com> wrote: >> On Wed, Apr 26, 2017 at 2:32 PM, Richard Biener >> <richard.guent...@gmail.com> wrote: >>> On Tue, Apr 18, 2017 at 12:52 PM, Bin Cheng <bin.ch...@arm.com> wrote: >>>> Hi, >>>> Given only integer variables are meaningful for register pressure >>>> estimation in IVOPTs, >>>> this patch skips non-integer type PHIs when counting register pressure. >>>> Is it OK? >>> >>> Huh. I suppose it only makes a difference because you are ignoring >>> POINTER_TYPE_P >>> IVs? At least I would be surprised if get_iv returns true for float >>> or vector PHIs (yeah, see >>> early out in get_iv)? So why exclude POINTER_TYPE_P IVs? >> Hmm, but if get_iv returns non-NULL, the phi won't be counted because >> loop is continued? Actually, all IV and invariants are skipped by >> checking get_iv, so this is only to skip floating point phis. > > Err, but AFAICS get_iv will return non-NULL for POINTER_TYPE_P IVs > which you then skip by your added > > + if (!INTEGRAL_TYPE_P (TREE_TYPE (op))) > + continue; > > thus float IVs are always skipped by means if get_iv returning NULL. > > Oh, the get_iv check continues for non-NULL result ... so it makes sense. > But still, why exclude POINTER_TYPE_P non-IV ops? POINTER_TYPE_P is simply an overlook, will update patch.
Thanks, bin > > Richard. > >> Thanks, >> bin >>> >>> Richard. >>> >>>> Thanks, >>>> bin >>>> >>>> 2017-04-11 Bin Cheng <bin.ch...@arm.com> >>>> >>>> * tree-ssa-loop-ivopts.c (determine_set_costs): Skip non-interger >>>> when counting register pressure. >>>>