This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH GCC8][28/33]Don't count non-interger PHIs for register pressure


On Thu, May 4, 2017 at 5:33 PM, Bin.Cheng <amker.cheng@gmail.com> wrote:
> On Wed, Apr 26, 2017 at 3:32 PM, Bin.Cheng <amker.cheng@gmail.com> wrote:
>> On Wed, Apr 26, 2017 at 3:23 PM, Richard Biener
>> <richard.guenther@gmail.com> wrote:
>>> On Wed, Apr 26, 2017 at 3:37 PM, Bin.Cheng <amker.cheng@gmail.com> wrote:
>>>> On Wed, Apr 26, 2017 at 2:32 PM, Richard Biener
>>>> <richard.guenther@gmail.com> wrote:
>>>>> On Tue, Apr 18, 2017 at 12:52 PM, Bin Cheng <Bin.Cheng@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.
> Here is updated version picking up POINTER_TYPE_P.

Ok.

Richard.

> Thanks,
> bin
>>
>> Thanks,
>> bin
>>>
>>> Richard.
>>>
>>>> Thanks,
>>>> bin
>>>>>
>>>>> Richard.
>>>>>
>>>>>> Thanks,
>>>>>> bin
>>>>>>
>>>>>> 2017-04-11  Bin Cheng  <bin.cheng@arm.com>
>>>>>>
>>>>>>         * tree-ssa-loop-ivopts.c (determine_set_costs): Skip non-interger
>>>>>>         when counting register pressure.
>>>>>>


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]