From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 23429 invoked by alias); 22 Sep 2009 06:57:59 -0000 Received: (qmail 23420 invoked by uid 22791); 22 Sep 2009 06:57:59 -0000 X-SWARE-Spam-Status: No, hits=-1.9 required=5.0 tests=AWL,BAYES_00,RCVD_IN_DNSWL_LOW X-Spam-Check-By: sourceware.org Received: from c60.cesmail.net (HELO c60.cesmail.net) (216.154.195.49) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Tue, 22 Sep 2009 06:57:55 +0000 Received: from unknown (HELO epsilon2) ([192.168.1.60]) by c60.cesmail.net with ESMTP; 22 Sep 2009 02:57:53 -0400 Received: from 78.145.31.240 ([78.145.31.240]) by webmail.spamcop.net (Horde MIME library) with HTTP; Tue, 22 Sep 2009 02:57:53 -0400 Message-ID: <20090922025753.jny1956vscgck04c-nzlynne@webmail.spamcop.net> Date: Tue, 22 Sep 2009 06:57:00 -0000 From: Joern Rennecke To: Andrew Hutchinson Cc: GCC Development Subject: Re: Cannot get Bit test RTL to cooperate with Combine. References: <4AB66B33.9010409@cox.net> <20090921204853.n2kguj1an4g0s8k4-nzlynne@webmail.spamcop.net> <4AB82BBE.3030703@cox.net> In-Reply-To: <4AB82BBE.3030703@cox.net> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; DelSp="Yes"; format="flowed" Content-Disposition: inline Content-Transfer-Encoding: 7bit User-Agent: Internet Messaging Program (IMP) H3 (4.1.4) X-IsSubscribed: yes Mailing-List: contact gcc-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-owner@gcc.gnu.org X-SW-Source: 2009-09/txt/msg00430.txt.bz2 Quoting Andrew Hutchinson : > Why doesn't combine try matching "unsimplified" expressions when it fails? > > This would at least permit creating patterns based on explicit format > of input RTL without the added vagaries of simplification Actually, that was my first attempt to approach the issue, but the trouble with this is that it is ill-defined what the simplifications are you want to loose versus what necessary canonicalisations are. Ultimatively, the search space is infinite, and the patterns that combine creates are shaped by the preconceptions of the programmers who hack it on what patterns are good to match. So it makes sense to try multiple patterns for a single combination and test the cost, but we couldn't afford an exhaustive search of all combinatorial possibilities.