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?

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.
>>>

Reply via email to