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

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

Richard.


> jeff
>


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