On Thu, May 14, 2015 at 4:28 PM, Jeff Law <l...@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.gli...@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 >