From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 1176 invoked by alias); 23 Mar 2015 11:57:47 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Received: (qmail 1161 invoked by uid 89); 23 Mar 2015 11:57:47 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=0.6 required=5.0 tests=AWL,BAYES_05,FREEMAIL_FROM,KAM_FROM_URIBL_PCCC,RCVD_IN_DNSWL_LOW,SPF_PASS autolearn=no version=3.3.2 X-HELO: mail-lb0-f180.google.com Received: from mail-lb0-f180.google.com (HELO mail-lb0-f180.google.com) (209.85.217.180) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES128-GCM-SHA256 encrypted) ESMTPS; Mon, 23 Mar 2015 11:57:46 +0000 Received: by lbcmq2 with SMTP id mq2so6236304lbc.0 for ; Mon, 23 Mar 2015 04:57:42 -0700 (PDT) X-Received: by 10.112.163.229 with SMTP id yl5mr83013921lbb.60.1427111862842; Mon, 23 Mar 2015 04:57:42 -0700 (PDT) MIME-Version: 1.0 Received: by 10.25.83.130 with HTTP; Mon, 23 Mar 2015 04:57:02 -0700 (PDT) In-Reply-To: <000201d06558$acd8a130$0689e390$@arm.com> References: <000501d049d3$079385a0$16ba90e0$@arm.com> <000601d04a5c$a0c0f030$e242d090$@arm.com> <000001d062e8$ece63930$c6b2ab90$@arm.com> <000101d062f8$68a35350$39e9f9f0$@arm.com> <000201d06558$acd8a130$0689e390$@arm.com> From: Steven Bosscher Date: Mon, 23 Mar 2015 11:57:00 -0000 Message-ID: Subject: Re: [PATCH, GCC, stage1] Fallback to copy-prop if constant-prop not possible To: "Thomas Preud'homme" Cc: GCC Patches Content-Type: text/plain; charset=UTF-8 X-IsSubscribed: yes X-SW-Source: 2015-03/txt/msg01175.txt.bz2 On Mon, Mar 23, 2015 at 12:01 PM, Thomas Preud'homme wrote: > What about the cprop_reg_p that needs to be negated? Did I miss something > that makes it ok? You didn't miss anything. I sent the wrong patch. The one I tested on ppc64 also has the condition reversed: @@ -1328,9 +1329,8 @@ implicit_set_cond_p (const_rtx cond) if (GET_CODE (cond) != EQ && GET_CODE (cond) != NE) return false; - /* The first operand of COND must be a pseudo-reg. */ - if (! REG_P (XEXP (cond, 0)) - || HARD_REGISTER_P (XEXP (cond, 0))) + /* The first operand of COND must be a register we can propagate. */ + if (! cprop_reg_p (XEXP (cond, 0))) return false; /* The second operand of COND must be a suitable constant. */