From patchwork Sat Jul 24 12:08:36 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Steven Bosscher X-Patchwork-Id: 59854 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from sourceware.org (server1.sourceware.org [209.132.180.131]) by ozlabs.org (Postfix) with SMTP id 71F1EB6F10 for ; Sat, 24 Jul 2010 22:08:45 +1000 (EST) Received: (qmail 11491 invoked by alias); 24 Jul 2010 12:08:44 -0000 Received: (qmail 11481 invoked by uid 22791); 24 Jul 2010 12:08:43 -0000 X-SWARE-Spam-Status: No, hits=-1.8 required=5.0 tests=AWL, BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, FREEMAIL_FROM X-Spam-Check-By: sourceware.org Received: from mail-fx0-f47.google.com (HELO mail-fx0-f47.google.com) (209.85.161.47) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Sat, 24 Jul 2010 12:08:39 +0000 Received: by fxm12 with SMTP id 12so6892796fxm.20 for ; Sat, 24 Jul 2010 05:08:37 -0700 (PDT) MIME-Version: 1.0 Received: by 10.239.161.15 with SMTP id f15mr410334hbd.6.1279973316869; Sat, 24 Jul 2010 05:08:36 -0700 (PDT) Received: by 10.239.140.201 with HTTP; Sat, 24 Jul 2010 05:08:36 -0700 (PDT) In-Reply-To: References: Date: Sat, 24 Jul 2010 14:08:36 +0200 Message-ID: Subject: Re: [patch] merge true_dependence and canon_true_dependence From: Steven Bosscher To: "H.J. Lu" Cc: GCC Patches Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Delivered-To: mailing list gcc-patches@gcc.gnu.org On Fri, Jul 23, 2010 at 4:34 AM, H.J. Lu wrote: >>        * alias.c (true_dependence_1): New function, merged version of >>        true_dependence and canon_true_dependence. >>        (true_dependence): Simplify. >>        (canon_true_dependence): Simplify. >> > > This caused: > > http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45035 Should be fixed with this patch. Bootstrapped&tested on x86_64-unknown-linux-gnu. OK? Ciao! Steven PR middle-end/45035 * alias.c (true_dependence_1): Fix thinko in merge of old true_dependence and canon_true_dependence. Index: alias.c =================================================================== --- alias.c (revision 162498) +++ alias.c (working copy) @@ -2375,18 +2375,19 @@ true_dependence_1 (const_rtx mem, enum m } if (! x_addr) - x_addr = XEXP (x, 0); - - if (!((GET_CODE (x_addr) == VALUE - && GET_CODE (mem_addr) != VALUE - && reg_mentioned_p (x_addr, mem_addr)) - || (GET_CODE (x_addr) != VALUE - && GET_CODE (mem_addr) == VALUE - && reg_mentioned_p (mem_addr, x_addr)))) { - x_addr = get_addr (x_addr); - if (!mem_canonicalized) - mem_addr = get_addr (mem_addr); + x_addr = XEXP (x, 0); + if (!((GET_CODE (x_addr) == VALUE + && GET_CODE (mem_addr) != VALUE + && reg_mentioned_p (x_addr, mem_addr)) + || (GET_CODE (x_addr) != VALUE + && GET_CODE (mem_addr) == VALUE + && reg_mentioned_p (mem_addr, x_addr)))) + { + x_addr = get_addr (x_addr); + if (! mem_canonicalized) + mem_addr = get_addr (mem_addr); + } } base = find_base_term (x_addr);