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: [RFA] More type narrowing in match.pd V2


On Mon, May 18, 2015 at 2:34 PM, Marc Glisse <marc.glisse@inria.fr> wrote:
> On Mon, 18 May 2015, Richard Biener wrote:
>
>> On Thu, May 14, 2015 at 4:28 PM, Jeff Law <law@redhat.com> wrote:
>>>
>>> On 05/14/2015 08:04 AM, Marc Glisse wrote:
>>>>
>>>>
>>>> On Fri, 1 May 2015, Jeff Law wrote:
>>>>
>>>>> Slight refactoring of the condition by using types_match as suggested
>>>>> by Richi.  I also applied the new types_match to 2 other patterns in
>>>>> match.pd where it seemed clearly appropriate.
>>>>
>>>>
>>>>
>>>> I would like to propose this small tweak (regtested ok). If we had a
>>>> different type for trees and types, this would be overloading the
>>>> function. We already do this in a few places, and I find the resulting
>>>> shorter code more readable.
>>>>
>>>> 2015-05-14  Marc Glisse  <marc.glisse@inria.fr>
>>>>
>>>>      * generic-match-head.c (types_match): Handle non-types.
>>>>      * gimple-match-head.c (types_match): Likewise.
>>>>      * match.pd: Remove unnecessary TREE_TYPE for types_match.
>>>
>>>
>>> Update the comment for types_match and this is fine.
>>
>>
>> No - it breaks genmatch autodetection of what trees escape.  It
>> special-cases
>> TREE_TYPE ().  See capture_info::walk_c_expr:
>
>
> Oh, I didn't know that.
>
>>  /* Give up for C exprs mentioning captures not inside TREE_TYPE ().  */
>>  unsigned p_depth = 0;
>>
>> so the patch will pessimize GENERIC folding.
>>
>> Please do not apply.
>
>
> I think it was already applied. Feel free to revert it, or tell me and I'll
> do it next week-end (from your next message I don't really know if it should
> be reverted or not).

It's always good to compare generated code (gimple/generic-match.c in the
build directory) for such changes.  Only the obvious differences should appear.
If they do you can leave the patch in.

Richard.

> --
> Marc Glisse


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