From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 83161 invoked by alias); 20 Jun 2016 08:20:45 -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 83152 invoked by uid 89); 20 Jun 2016 08:20:44 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.5 required=5.0 tests=AWL,BAYES_00,FREEMAIL_FROM,RCVD_IN_DNSWL_LOW,SPF_PASS autolearn=ham version=3.3.2 spammy= X-HELO: mail-vk0-f65.google.com Received: from mail-vk0-f65.google.com (HELO mail-vk0-f65.google.com) (209.85.213.65) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES128-GCM-SHA256 encrypted) ESMTPS; Mon, 20 Jun 2016 08:20:34 +0000 Received: by mail-vk0-f65.google.com with SMTP id k2so20746709vkb.0 for ; Mon, 20 Jun 2016 01:20:34 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=J/QkIbfxOJ0IZRNnFBBXfXj1N7Z3CBBbHamdFkZTZSM=; b=UUvHpXZoTXlrjo7UbLfe+ZnjOzUy004nFoz7/4vnMDbJiltRZmOnFPn72xM4T8ysQm HN0tAjKpPJuSjTrwxXV2YUOCpnqx5mM6Xkhfj4GZnes291HNXN4IfueWhBshaHmW1dXg e26mZkDj8TKHd6SbQdoagP6Gg0moKtS0rqoILhd8lUX2ZGWmsDDr4zToYpePeZmHJ/f9 +0qcX2g1QR4uPWeiHX/V2xdNdS79DFrBzm65RivOZ1jCSSBPwGkHkCDLWDdLhjOvDPHw Rad5308tgKDNNUei19gmtZW9uVW6wnUWqqg2eky9oz8Ud3kkKG4wzsXGgBBK0mSp0vFb riSQ== X-Gm-Message-State: ALyK8tJ3E8c6x1dMqzOWONGpToCqfJGZpVMGdoR04h26mNA7DUn8H8lf+YfR0WyV+UTiJnQRS6+CXsr0NAoeNg== X-Received: by 10.31.218.68 with SMTP id r65mr2101439vkg.115.1466410832206; Mon, 20 Jun 2016 01:20:32 -0700 (PDT) MIME-Version: 1.0 Received: by 10.103.116.19 with HTTP; Mon, 20 Jun 2016 01:20:31 -0700 (PDT) In-Reply-To: References: From: "Bin.Cheng" Date: Mon, 20 Jun 2016 08:20:00 -0000 Message-ID: Subject: Re: [PATCH PR71347][Partial revert r235513]Compute cost for all uses in group To: Christophe Lyon Cc: Andreas Schwab , Bin Cheng , "gcc-patches@gcc.gnu.org" , nd Content-Type: text/plain; charset=UTF-8 X-IsSubscribed: yes X-SW-Source: 2016-06/txt/msg01375.txt.bz2 On Mon, Jun 20, 2016 at 9:18 AM, Christophe Lyon wrote: > On 18 June 2016 at 10:59, Andreas Schwab wrote: >> Bin Cheng writes: >> >>> diff --git a/gcc/testsuite/gcc.dg/tree-ssa/pr71347.c b/gcc/testsuite/gcc.dg/tree-ssa/pr71347.c >>> new file mode 100644 >>> index 0000000..7e5ad49 >>> --- /dev/null >>> +++ b/gcc/testsuite/gcc.dg/tree-ssa/pr71347.c >>> @@ -0,0 +1,17 @@ >>> +/* { dg-do compile } */ >>> +/* { dg-options "-O2 -fdump-tree-optimized" } */ >>> + >>> +double in; >>> +extern void Write (double); >>> +void foo (void) >>> +{ >>> + static double X[9]; >>> + int i; >>> + X[1] = in * in; >>> + for (i = 2; i <= 8; i++) >>> + X[i] = X[i - 1] * X[1]; >>> + Write (X[5]); >>> +} >>> + >>> +/* Load of X[i - i] can be omitted by reusing X[i] in previous iteration. */ >>> +/* { dg-final { scan-tree-dump-not ".* = MEM.*;" "optimized"} } */ >> >> The test fails on ia64, this is what I get in .optimized: >> > > The test passes on aarch64, but fails on arm targets. Maybe that's > easier for Bin to reproduce? Hi all, Sorry for the inconvenience, I will have a look at the two targets. Thanks, bin > > Christophe > >> ;; Function foo (foo, funcdef_no=0, decl_uid=1387, cgraph_uid=0, symbol_order=1) >> >> foo () >> { >> int i; >> static double X[9]; >> double in.0_1; >> double in.1_2; >> double _3; >> int _4; >> double _5; >> double _6; >> double _7; >> double _8; >> >> : >> in.0_1 = in; >> in.1_2 = in; >> _3 = in.0_1 * in.1_2; >> X[1] = _3; >> i_13 = 2; >> goto ; >> >> : >> _4 = i_9 + -1; >> _5 = X[_4]; >> _6 = X[1]; >> _7 = _5 * _6; >> X[i_9] = _7; >> i_15 = i_9 + 1; >> >> : >> # i_9 = PHI >> if (i_9 <= 8) >> goto ; >> else >> goto ; >> >> : >> _8 = X[5]; >> Write (_8); >> return; >> >> } >> >> >> Andreas. >> >> -- >> Andreas Schwab, schwab@linux-m68k.org >> GPG Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5 >> "And now for something completely different."