From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR03-VI1-obe.outbound.protection.outlook.com (mail-vi1eur03on2137.outbound.protection.outlook.com [40.107.103.137]) by sourceware.org (Postfix) with ESMTPS id 5C1643857434 for ; Tue, 25 Oct 2022 13:00:29 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 5C1643857434 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=Syrmia.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=Syrmia.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=IuvOyOkv/AiMjX9jLDh5jzthVGYdB8pJEmJPVIKjwWQDql0Fr9P9KnIRZEhqgT1w7+fNymL8G6TgQuX2xxaOzv6DFpwluUCqrNKtJsLd9o6yrqHe3l7yaK4RLx4FyHj8hn9wkp3nbPD+nYiB0gE/gj3C7Zrgd8QRe3kcE8v1Nb5rz8n6PzLx/Bxv25sbWq/EbnPhG655gGfRh/hQBmF5pPzkH1W96uyt8qGSsFM/zDHxU2pKPVT9D4pDP5YSBE4afL+6ZL6bsMyvaxX3HMurqR9ombveF1zkG9pTC93p7dQSxkwFw65bJSwI0C+34XKFXv1qqTULoMb2t3CqGC3O/A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=CU2uSGzUaAxhcw6dLXhsXSG1c5cEq7/NZn6ClyKLTy4=; b=dsmTEvpyrMFFBGWkc5SfzD6I+e4tsAw7i0pI4HzTP8qbZ7e8WZnA5k3F1H1B/BL1Q0rr8vKVHojspZnLhUrk2t0xd/GP0/g4p0qKA0lRPfeaAoZc0W8rJT6tF+qUuNIG74R4SlxCeJh9MZj2ncSPjhE51t7v3tVG6oBLm+cL/mxT9er4BMJkghGQ3ujLOhlqSosjeA/IkNfYbH5ibGN0KmjdZemg+78MoFYN4YsuOR5w/uoVdhTTeZ3xrnum8ETj5AoCUZ8TsI2HioEfsqkB60SX7xLKHLtEZfrGaEbV5/VxjO08eRMgsEet5QTiEO/a43VFxCQqjd1Bw2MPUqvIow== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=syrmia.com; dmarc=pass action=none header.from=syrmia.com; dkim=pass header.d=syrmia.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=syrmia.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=CU2uSGzUaAxhcw6dLXhsXSG1c5cEq7/NZn6ClyKLTy4=; b=CEdGA1zRLtq2Mmh+dhE6N31eS+hLwxAlVwds5w3dVYw+4n83anSFbUpgxCxoQxLpUFO/C5B3suEddtj1F62/6hwpwYJEeb8TnwOAy82XxO+PC3JXRDlhNsOZsb2B2H4PzCnr8gn12Zo82q5zT/+LkPr/h/y4PyGpWYq6vXxqToY= Received: from AM0PR03MB4882.eurprd03.prod.outlook.com (2603:10a6:208:fb::17) by AS8PR03MB8004.eurprd03.prod.outlook.com (2603:10a6:20b:42b::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5746.21; Tue, 25 Oct 2022 13:00:25 +0000 Received: from AM0PR03MB4882.eurprd03.prod.outlook.com ([fe80::7f26:4554:fc25:8412]) by AM0PR03MB4882.eurprd03.prod.outlook.com ([fe80::7f26:4554:fc25:8412%3]) with mapi id 15.20.5746.028; Tue, 25 Oct 2022 13:00:25 +0000 From: Dimitrije Milosevic To: Richard Biener CC: "gcc-patches@gcc.gnu.org" , Djordje Todorovic Subject: Re: [PATCH 2/2] ivopts: Consider number of invariants when calculating register pressure. Thread-Topic: [PATCH 2/2] ivopts: Consider number of invariants when calculating register pressure. Thread-Index: AQHY5VSqHj/DluvY9Ue9PcLtS+ZmWK4e+VuAgAASSeE= Date: Tue, 25 Oct 2022 13:00:25 +0000 Message-ID: References: <20221021135203.626255-1-dimitrije.milosevic@syrmia.com> <20221021135203.626255-3-dimitrije.milosevic@syrmia.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: msip_labels: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=Syrmia.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: AM0PR03MB4882:EE_|AS8PR03MB8004:EE_ x-ms-office365-filtering-correlation-id: d58b29fe-2053-4822-e5f5-08dab688e258 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 8YKAv1xm7F+8JSENq2IHBG5J0rmoPL7U0rI46rEtyRr5564oxZKH9FOEvy+zGeZaYgRmpjmKoWO4ptDUr7vz+whJO08ne1FvkH33ewpA+d0cnzV0us81dkgkjAxDkbaVQEG5knZHNr6XHu69C+AwHM8iKMq2cjnxkGBhL3oaO44LgnCYsakmSiA96AVhHBhv+cv0d8I5CqTAAkbiw9qQgXwk6GaC/i1ll2Jh1dxO4yjIEMBNQ6xKcbQRfsJEv1VfVWyS1qZIh3wRHdHEAqGLWcMA2YE8F9dUficfzHY/ADVJUNjK87gO54tPdZr4Sxox7vetwKJnaFHmWfayqfDdKnIDJx4Loo7TkthbPPZ9H6OsSTezu3TpWjqR8xjxSx5sT6Gu6hQE3rK/Y1RudLcRtXYj7Q9N88D8pgUorTADz7INX1WePGA20Rw5xvMzAXHOEPpPjMv95H7Rot2/otbu3ORX9OnE7VG0jSOak/+UcFMm9WH8xKWd2z50jhojMDB/ivfz9/yxKuu/DEE9iO+rol3YDL2H24m8XfjDnebOOcN1DPdMah/THnCcU6JAFfCZ7Ncnh+ZXytzINcKoQuKkkVV2nNVmlXcEq/pEDiu2GYTWCCNhrp+2t0PNn0xV4pgiV4sG2rJxVcyqH65WuvvLOpCyCQnICjqYPJKSzckQkJULEn+y633pmTRUJrlTj3mAd/5gFsVyM7dApGF6xJOfeQ8McJH28Ck/ENFvvvSnIOhPJkV4POaDudIUi5FAQWffK/acOveirOeS+aspK9YIzQ== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM0PR03MB4882.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(376002)(366004)(346002)(39830400003)(396003)(136003)(451199015)(76116006)(8676002)(4326008)(66476007)(66556008)(66446008)(66946007)(64756008)(91956017)(52536014)(2906002)(41300700001)(55016003)(8936002)(316002)(6916009)(33656002)(54906003)(5660300002)(478600001)(83380400001)(38070700005)(122000001)(38100700002)(107886003)(26005)(6506007)(7696005)(53546011)(86362001)(9686003)(186003)(71200400001);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-2?Q?2reEENfsfmvJ3e3ZuwTrXgKACh+itTDNNQbNc8b92h8ZM8o7UqadZTSv27?= =?iso-8859-2?Q?nROKCWns8iQJxJyL3Rv+fHhkoHKJM42hOfuKy5XzdOL6INhTBX9h2pai47?= =?iso-8859-2?Q?kwLqVS2F3UU9k1KR7k5Om7JASVXtQi1YDzUtM1uVXEL8n6m+cOSn8VisT0?= =?iso-8859-2?Q?YirrpuQYbqw44jT0gHYxkacqj6gXBb9REOsLQm+t1m5loeS3ipTWA1cAGV?= =?iso-8859-2?Q?wXH8Gwy1gHWWoXxfhWi4o09j5spv1JqHuXOTpIaicx9Aya/xrOTX1VlNAw?= =?iso-8859-2?Q?9UfQDI4Pg7q1/MJOAxZiM53s3Tbirm5nFyjItEXaKUCWWCRLmPF5fA3LP6?= =?iso-8859-2?Q?hLFBCQ0kFV8LdXGbciPWmtwtru/M7DMcSJCwnmQe/vMCLpvhEkPdNfACDr?= =?iso-8859-2?Q?Jw3gDStEv1Xxs7TD4UA9hnTScb1PLfIdqwExtuGCUJoP50H7+nxVuzuXkH?= =?iso-8859-2?Q?iD472jtRuAwvtwR5IMoqm7h80xwnW5UoQMaXGPJhihgFIxJgt68NzcGr4d?= =?iso-8859-2?Q?ZbnAkO9bjYxidF4t4EjJPZqJZUKxWebwTTOOR78kkfIBpogHp2jN68jWG6?= =?iso-8859-2?Q?iQtzWt7zfPESDqDUf4DyKyoAnoGS2tvwFaTmNKIpmrV87n0hs5Dk22j9TA?= =?iso-8859-2?Q?kR/c3axbsgpKh9l+l66tKmNT0R2YfrwxWOtPxX9ysYC51E0TK6o2I5OweO?= =?iso-8859-2?Q?z0praiwZz4Pahq+qCso6NeeeB8MpOZFQwd+kYp56w1dNJKJPy/2l8NGPpw?= =?iso-8859-2?Q?neMyibyexp+zRGFmijAEfO3zisrQKTXnXJ3VzoUEaw0yvAkOkB/rldRgiQ?= =?iso-8859-2?Q?rOOkw8okShWB/oDHEhJXBfjd7PbnrZLxhsBrX4C1XUOkkoekCC1/hpMwi8?= =?iso-8859-2?Q?Y4FunGXlQRXDwmFE2XjQbJP5lFRrKuak/wOFoX5OX0fV3Cd2meuyUi8QR/?= =?iso-8859-2?Q?2s6FuxQPGM/Xq13A0LyhrQIvNPuVtx2ENsEd4rfcpcz79T5a1MoGKBCSf7?= =?iso-8859-2?Q?TmjeZS47ORjw8erGU5T6VB4tOVYWBhQOEeGLI6EuzfyFBIa4p9SefJZO4N?= =?iso-8859-2?Q?h7NRoJk4pR0SUgUqhmRo21z7F+KxetwJQNaBpuGYNIIvPjtx2bxOTKrQst?= =?iso-8859-2?Q?VrU7WK0S9GEmELoII7WYzXwcMB+PWqLg51d8JLch2imENUD+tVDaQcDjcP?= =?iso-8859-2?Q?wujzWeSXRgPCHpq35BubE2VDBIT/SeY1IHA6Ttx4J+KuPDwyxgG09yglY1?= =?iso-8859-2?Q?+QpwDGhtOexoc3M5Doqx1V+Cfp8WWfx26J6PtRciXg9QhHdaDNiEWMCS7n?= =?iso-8859-2?Q?dnyZNd+dFjAmORkXKH3etSAqUiq7RUbQvPWfG7+peOK7bPE5R4VJB0lz5O?= =?iso-8859-2?Q?AnK03n+t65dO/Odrs+571Pw3nH8h0iZBmjcwfteJlcTdujeLg244xkDgGF?= =?iso-8859-2?Q?V2pW4LjUWwalFp/ohVWr2kkKzoRmhQTJUIjPAkyTl+D1UO6ly8kKReB3LK?= =?iso-8859-2?Q?6Q7ETBjNffRVPQd/0xb3LMK+OzKXyOlrs7jqPtTnW8WPN5aVZReAqr84+L?= =?iso-8859-2?Q?trYBG8Ilpy8N/dNvS5pHsks7IxeUPAxAnwNJPSmFvaHHGNfYRzsm9uG62T?= =?iso-8859-2?Q?4PWgg9vaaBnKco6xbQPRj8JLTkWobMAUsI/N2Z+s60lYnHoCaZLW0Vsw?= =?iso-8859-2?Q?=3D=3D?= Content-Type: text/plain; charset="iso-8859-2" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: syrmia.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: AM0PR03MB4882.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: d58b29fe-2053-4822-e5f5-08dab688e258 X-MS-Exchange-CrossTenant-originalarrivaltime: 25 Oct 2022 13:00:25.5474 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 19214a73-c1ab-4e19-8f59-14bdcb09a66e X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: deoRSopsEbqqYySfWMTHv983G0NMelT8oZAbcZIwWjOMyaFSgo14+zStO/A2yzUwLvdmnHFDyFR9J8rPMwp84Om5gzcpJNP5mSsFoxN+akI= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR03MB8004 X-Spam-Status: No, score=-11.5 required=5.0 tests=BAYES_00,BODY_8BITS,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,GIT_PATCH_0,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_PASS,SPF_PASS,TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: Hi Richard,=0A= =0A= > don't you add n_invs twice now given=0A= >=0A= > unsigned n_old =3D data->regs_used, n_new =3D n_invs + n_cands;=0A= > unsigned regs_needed =3D n_new + n_old, available_regs =3D target_avail_= regs;=0A= >=0A= > ?=0A= =0A= If you are referring to the "If we have enough registers." case, correct. A= fter c18101f,=0A= for that case, the returned cost is equal to 2 * n_invs + n_cands. Before c= 18101f, for =0A= that case, the returned cost is equal to n_invs + n_cands. Another solution= would be=0A= to just return n_invs + n_cands if we have enough registers.=0A= =0A= Regards,=0A= Dimitrije=0A= =0A= =0A= From: Richard Biener =0A= Sent: Tuesday, October 25, 2022 1:07 PM=0A= To: Dimitrije Milosevic =0A= Cc: gcc-patches@gcc.gnu.org ; Djordje Todorovic =0A= Subject: Re: [PATCH 2/2] ivopts: Consider number of invariants when calcula= ting register pressure. =0A= =A0=0A= On Fri, Oct 21, 2022 at 3:57 PM Dimitrije Milosevic=0A= wrote:=0A= >=0A= > From: Dimitrije Milo=B9evi=E6 =0A= >=0A= > This patch slightly modifies register pressure model function to consider= =0A= > both the number of invariants and the number of candidates, rather than= =0A= > just the number of candidates. This used to be the case before c18101f.= =0A= =0A= don't you add n_invs twice now given=0A= =0A= =A0 unsigned n_old =3D data->regs_used, n_new =3D n_invs + n_cands;=0A= =A0 unsigned regs_needed =3D n_new + n_old, available_regs =3D target_avail= _regs;=0A= =0A= ?=0A= =0A= > gcc/ChangeLog:=0A= >=0A= >=A0=A0=A0=A0=A0=A0=A0=A0 * tree-ssa-loop-ivopts.cc (ivopts_estimate_reg_pr= essure): Adjust.=0A= >=0A= > Signed-off-by: Dimitrije Milosevic =0A= > ---=0A= >=A0 gcc/tree-ssa-loop-ivopts.cc | 6 +++---=0A= >=A0 1 file changed, 3 insertions(+), 3 deletions(-)=0A= >=0A= > diff --git a/gcc/tree-ssa-loop-ivopts.cc b/gcc/tree-ssa-loop-ivopts.cc=0A= > index d53ba05a4f6..9d0b669d671 100644=0A= > --- a/gcc/tree-ssa-loop-ivopts.cc=0A= > +++ b/gcc/tree-ssa-loop-ivopts.cc=0A= > @@ -6409,9 +6409,9 @@ ivopts_estimate_reg_pressure (struct ivopts_data *d= ata, unsigned n_invs,=0A= >=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 + target_spill_cost [speed] * (n_cands -= available_regs) * 2=0A= >=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 + target_spill_cost [speed] * (regs_need= ed - n_cands);=0A= >=0A= > -=A0 /* Finally, add the number of candidates, so that we prefer eliminat= ing=0A= > -=A0=A0=A0=A0 induction variables if possible.=A0 */=0A= > -=A0 return cost + n_cands;=0A= > +=A0 /* Finally, add the number of invariants and the number of candidate= s,=0A= > +=A0=A0=A0=A0 so that we prefer eliminating induction variables if possib= le.=A0 */=0A= > +=A0 return cost + n_invs + n_cands;=0A= >=A0 }=0A= >=0A= >=A0 /* For each size of the induction variable set determine the penalty.= =A0 */=0A= > --=0A= > 2.25.1=0A= >=