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

--
Marc Glisse


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