From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 79972 invoked by alias); 31 Jul 2017 08:55:10 -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 79863 invoked by uid 89); 31 Jul 2017 08:55:09 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.8 required=5.0 tests=AWL,BAYES_00,FREEMAIL_FROM,RCVD_IN_DNSWL_NONE,RCVD_IN_SORBS_SPAM,SPF_PASS autolearn=no version=3.3.2 spammy=Hx-languages-length:2310 X-Spam-User: qpsmtpd, 2 recipients X-HELO: mail-lf0-f65.google.com Received: from mail-lf0-f65.google.com (HELO mail-lf0-f65.google.com) (209.85.215.65) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Mon, 31 Jul 2017 08:55:07 +0000 Received: by mail-lf0-f65.google.com with SMTP id w199so11677189lff.2; Mon, 31 Jul 2017 01:55:07 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=rlf6MnjVt5L1IJXEwAJJ3GeoYq8I4mW2qdt7kACRq6Y=; b=pufWKb1IMqWcguDUobmYs42rKz5EPW5aCyDnGoc1xbr91I3wL1A1GTC3QvGu3bircD Ui1dMB6l+7gX+OuGgr+a5pg7XKGH8FDikS2x4Fvn5k63nS35fLlcdqgaOCYDdR1AyjSw r7ptaKMF7+vEUe3xsqkksvW2wbgvd1gHjbMCZPMRYfqZrseX1l4tH7nflQjGVv9IVK1Y FaTTYQoiJJ+hE/lvOYll1JkKMeo9pUwKEzw5h5kboKzW05W7QOj7S7MepIcf4x1noxxN KE/cOas+KYGicBokQxhGZlWtfCic/cJLgvg0xSMmngTsHu2pUEQo7D0jVeoPNeNzI3vu 2LMQ== X-Gm-Message-State: AIVw111we6DyrmZJ2EHgN2d07mWDqDh+2jFjROOv9bn5MEX+8jx8CdKi lUbBYLnAWObNN2V8FTTzqqxfnz0R2A== X-Received: by 10.46.88.66 with SMTP id x2mr1207692ljd.126.1501491305165; Mon, 31 Jul 2017 01:55:05 -0700 (PDT) MIME-Version: 1.0 Received: by 10.25.31.134 with HTTP; Mon, 31 Jul 2017 01:55:04 -0700 (PDT) In-Reply-To: References: <6f4e586d-befe-a7d3-ef53-346d731a99a7@suse.cz> From: Richard Biener Date: Mon, 31 Jul 2017 08:55:00 -0000 Message-ID: Subject: Re: [PATCH 4/N] Recover GOTO predictor. To: =?UTF-8?Q?Martin_Li=C5=A1ka?= Cc: GCC Patches , Jan Hubicka , ppalka@gcc.gnu.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-IsSubscribed: yes X-SW-Source: 2017-07/txt/msg01999.txt.bz2 On Mon, Jul 31, 2017 at 9:46 AM, Martin Li=C5=A1ka wrote: > Richi? 4 is fine. > Thanks > > On 06/30/2017 03:48 PM, Martin Li=C5=A1ka wrote: >> On 06/22/2017 12:27 PM, Richard Biener wrote: >>> On Wed, Jun 21, 2017 at 3:06 PM, Martin Li=C5=A1ka wro= te: >>>> Hello. >>>> >>>> There's one additional predictor enhancement that is GOTO predict that >>>> used to working. Following patch adds expect statement for C and C++ f= amily >>>> languages. >>>> >>>> There's one fallout which is vrp24.c test-case, where only 'Simplified= relational' >>>> appears just once. Adding Richi and Patrick who can probably help how = to fix the >>>> test-case. >>> >>> Happens to be optimized better now, there's only one predicate to simpl= ify >>> left in the IL input to VRP1. I suggest to change it to match 1 times = and add >>> -fdump-tree-optimized to dg-options and >>> >>> /* { dg-final { scan-tree-dump-times "if " 3 "optimized" } } */ >>> >>> to verify we have 3 conditions left. >> >> One small note, I see 4 conditions in optimized dump: >> >> sss (struct rtx_def * insn, int code1, int code2, int code3) >> { >> int D1544; >> struct rtx_def * body; >> _Bool D1562; >> >> [100.00%] [count: INV]: >> body_5 =3D insn_4(D)->u.fld[5].rt_rtx; >> D1544_6 =3D body_5->code; >> if (D1544_6 =3D=3D 55) >> goto (L7); [34.00%] [count: INV] >> else >> goto ; [66.00%] [count: INV] >> >> [66.00%] [count: INV]: >> if (code3_7(D) =3D=3D 99) >> goto ; [34.00%] [count: INV] >> else >> goto (L16); [66.00%] [count: INV] >> >> [22.44%] [count: INV]: >> D1562_9 =3D code1_8(D) =3D=3D 10; >> if (D1562_9 =3D=3D 1) >> goto (L7); [64.00%] [count: INV] >> else >> goto (L16); [36.00%] [count: INV] >> >> [9.82%] [count: INV]: >> arf (); >> >> [46.68%] [count: INV]: >> frob (); [tail call] >> goto (L16); [100.00%] [count: INV] >> >> L7 [48.36%] [count: INV]: >> if (code2_12(D) =3D=3D 42) >> goto ; [20.24%] [count: INV] >> else >> goto ; [79.76%] [count: INV] >> >> L16 [100.00%] [count: INV]: >> return; >> >> } >> >> Is it a problem or adjusting to 4 is fine? >> >> Martin >> >>> >>>> Patch can bootstrap on ppc64le-redhat-linux and survives regression te= sts. >>>> >>>> Ready to be installed? >>>> Martin >> >