From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM04-BN8-obe.outbound.protection.outlook.com (mail-bn8nam04on2118.outbound.protection.outlook.com [40.107.100.118]) by sourceware.org (Postfix) with ESMTPS id A42CD3856DE0 for ; Wed, 27 Jul 2022 18:24:13 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org A42CD3856DE0 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=iXYYdS1r09241UxMN6l7RjRJB3v7KBh9ndokdPcbP4AMdsMCd8aEaKS8nH5BGx+0zJHTpABohOpPXsl7yhW+DIp2BhgGIv6iacMnH77sWfSYSnfariplHjykGq1ZfzqdCcxKwwi657peKKP3UB9rosA+i/eBiBWmcWAupl5+klTnQ0RRF0rYXhQZ4E7iMbB1eE7FHXB5+ygiQOlTcSPhpRznTBrMG5BkWzwpDVLJxFqHEc/CxsUyDnS24blivmOADcC5M1NmmVzWdUJzJASx5/q5SBC8h8mgD5xCMowVilvrOYhlSrjPUkRFeV01mZO9+oIkj4QXVj+ioOvOVUyDUQ== 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=DoQrLxgAIWb53joPEQWLIimPgrKtIHgKW78ZPze/R84=; b=ZQKJ/zErsvgEW0v8qpxzd9qyUbQ3CbUQ48VSgAKLi1/Mc22KFa3MFqEr7PcbRov3SZLJYPHjtQzQmSfrkQoOsUGy2TV8SeLx24OYlropV3UsVrtv3IUEtv1voqZex/MnlogEZZdRbejCT2gBjiqVzZouKF/r98APFC1T6+WIP8vl+fdxyg44NzWhHbkDuFknpdz3miA9gv50ILImhXeGJUtLoq6aYPn/yegsmeWTofD6wkPzMcDqdiijqycngYTLd/Q6HduTw9yv5tDkNIY1BGsmDtSCLSEhcx09n2LL1Fo9fqKAbMZbBxDMMf/ec6n9JTjCPL7kyCTolpWEkzHKJQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=microsoft.com; dmarc=pass action=none header.from=microsoft.com; dkim=pass header.d=microsoft.com; arc=none Received: from DM5PR21MB1767.namprd21.prod.outlook.com (2603:10b6:4:a7::39) by BL1PR21MB3281.namprd21.prod.outlook.com (2603:10b6:208:399::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.5; Wed, 27 Jul 2022 18:24:11 +0000 Received: from DM5PR21MB1767.namprd21.prod.outlook.com ([fe80::6050:eecb:f17e:3c8]) by DM5PR21MB1767.namprd21.prod.outlook.com ([fe80::6050:eecb:f17e:3c8%9]) with mapi id 15.20.5504.001; Wed, 27 Jul 2022 18:24:11 +0000 From: Eugene Rozenfeld To: David Edelsohn , Jan Hubicka , Martin Liska , Xinliang David Li CC: Andi Kleen , Joseph Myers , gcc Subject: RE: [EXTERNAL] Re: State of AutoFDO in GCC Thread-Topic: [EXTERNAL] Re: State of AutoFDO in GCC Thread-Index: AQHYoSwDrvTft2hTz0KNU80j7i7NwK2RPk8AgAFKd3A= Date: Wed, 27 Jul 2022 18:24:11 +0000 Message-ID: References: <20210429054025.GB4032392@tassilo.jf.intel.com> <4d005159.55ea.1791e171ab9.Coremail.172060045@hdu.edu.cn> <875z0378j1.fsf@linux.intel.com> <67df7dbb.5eae.1794bba0ca3.Coremail.172060045@hdu.edu.cn> <7c802b11-857e-78eb-c2e8-0a3044817793@linux.intel.com> <20210509170121.GE25641@kam.mff.cuni.cz> <20210510172121.GT4032392@tassilo.jf.intel.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: msip_labels: MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_ActionId=b741c244-e107-4551-acac-9df18f84c04a; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_ContentBits=0; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Enabled=true; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Method=Standard; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Name=Internal; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_SetDate=2022-07-27T18:20:33Z; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_SiteId=72f988bf-86f1-41af-91ab-2d7cd011db47; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: dd3d8ef5-51fc-4118-867a-08da6ffd33d8 x-ms-traffictypediagnostic: BL1PR21MB3281:EE_ x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: S02UH5wQo+n6evDAnNhr+usweot4MfdQs6jOFTuSMWIeAKh9cefTrAOchs/BKU3ITxcFVfQ4ibQdbZYzwjcjrlqhhXjd0rNP+SUYl/wnw37LTUT8JrTXPDxBMq1275Xvvzw22V6mHW31VJHmb02+691DFRZKNxX0B5ggjFWx4MrUZSXFOvxSCoSAQ1bVnG9KgzBz8rxhf2ZXt8RaBfeUwjYsHPlaNtcDaZU9c93xRq40tUoiwCAArGONW3PRo4BJE37fY4fZG5qdNStrqiBUA5d97UzNbdnA6yKO+IPxAPxaf8BMJM6ZT+wX+c6a4sITNBfmBaKA++5Rkveh2WxX7NVtHnVZ9wV47hnJF+j2Bq/yL3pzPC76rk97Kr95kQcJzww1lPbQ5yccD1y1BDDOGfw5dXSN020y627jg8u4f/aiQdvHCXpxWUPgCNyUZdthGZsA5gvX9yCSNazKSI0EJNVt83E3VLt+DMcyXSnktyCrzZs+6jBv2jL3NA1AtZWzGI50gfazqH82MCNpHvzXtGw3BbNO8LO4QTUAT75A9yfTkk13tmuXChhqIZWbToxsTFjpvii5YBmJGSmfgKMlQ9NGOiy/aqVnkhwYY8TeQXif+y7iY/+f1CO2p+CxIvhK/cfvU4W8A9wtYeSwCqwTfeAkbQJ2nh2T2Da0ABN0wqjYNUZ5ERuP5/vKa6f0Pg2kfACyyz8Z/8SFAyXZBfaLDoQu/Vj4XbijsKxBCDoCRJGKRIYuJJF4kV7m6lDtk6rfVmOzqCoe8CiTNFdfaCHpAvhE9/opI4ulw9Gk13iWgzaJC1hX9uv27jF0DMy8Yj3YHpqZTReDLXQfOtL/q74SRlUJ0aKdRvyadLRCVe/VSMhWHj5/ks0oo4LVJXIi4ObXNquDBlWOO3PAVKo1EuaDFVMWG7KoDsmLn4CIvzwd760= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DM5PR21MB1767.namprd21.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230016)(4636009)(396003)(346002)(39860400002)(366004)(376002)(136003)(451199009)(10290500003)(55016003)(110136005)(54906003)(5660300002)(38100700002)(8936002)(38070700005)(82960400001)(122000001)(82950400001)(316002)(76116006)(9686003)(66476007)(4326008)(66556008)(66446008)(64756008)(8676002)(41300700001)(8990500004)(186003)(83380400001)(71200400001)(478600001)(30864003)(966005)(33656002)(52536014)(53546011)(86362001)(7696005)(66946007)(2906002)(4001150100001)(6506007); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?DsfesKwMJ1oAkWLDQh+psaH46gz8Uv8r4fz4ZPWpmccvmzRJEgQX7af7eT6e?= =?us-ascii?Q?4tfMGGwfX6+YDcTw4fkCvQbE0MRjcxjowCSdZpgJeZiv9SY20yNB6TUZ2jN9?= =?us-ascii?Q?wFMMJ8PTdavHwClTNStFL/zdmRKCHZzNJklNeGUV0LvRGrKbPSvhnwzfsTPy?= =?us-ascii?Q?P6NuUnPnqQ3/N6PsHEWMysUgRZNCRocYEQwlsxqyx0qKixM7o1IlDLO9zEI8?= =?us-ascii?Q?2b8o7sX4UjupM9myiaQYb6yaySz6heiZ6VZFkKDfCv6nK4JoVSlK85LcN20C?= =?us-ascii?Q?f8s6p16C/iJshELm5flDlHmr0YbXE//cpsqxyQoJM1lHSaos5R2g+Zh4vPrw?= =?us-ascii?Q?dH3W5MZOwz817jQa/UgsfaIg+JAgX+i6Z0crefqJ3jN+rjlRMmdoqyjRKgAo?= =?us-ascii?Q?fU0TKdWNeXNZSJ72/W1qZEXyB0fHAKP9pW2w92mXARHW3erP+/8y9OU4ppnk?= =?us-ascii?Q?4Fqx8hfON/QupAYT9W4IU5yuTKZ2NmnZuASXIz8ubrto2R6zcgowyXRSWnSG?= =?us-ascii?Q?QfUzLVK1Heg4bCyCJFv5dPWqvsB6TuikIVg+Ek1W+f5g2K5VPfO1bzZ8IQj2?= =?us-ascii?Q?VfNnvJJ4hRQ0/aaA8eMuzsyL61EJNjrBpgavXm9xaa0JGeqUfM0L04rQMdWR?= =?us-ascii?Q?96b2AT89FLcv5ohegeL8ByeL2MogUlItZei5QWad0SOcWCMcMNvp2bKcgNWa?= =?us-ascii?Q?P9uuqWPPMTmFUBLPdvXIRvK8b6balMaB+kTJqRgIriabn8TXuEIMdvkOSQfk?= =?us-ascii?Q?G1fYvk5e+4dQ2ddeko71V6E3j4rajHWkYkoZzkBy9JT/V9/wmjypYg8ZY3U0?= =?us-ascii?Q?JTaCxasoCqqPGmjTyWbztaVn5UVVGghI6fqfe2U/S+rGe49Fba3CKoFHeoHa?= =?us-ascii?Q?enumhZAj0aGWdaCdeD3wpybm9x/kfPM/zhWgFTsjoH1mgzKgpV0CC9iYScrL?= =?us-ascii?Q?pRfjT5Z6WMy1gHfUqM5C1jaHWxtfqwgjm4sIIzA8qDZziULz08GdPPbo/Hxp?= =?us-ascii?Q?ULUmxmgPVJ9YWh2BV+TEZWqKlIgXDFpvbnhd14FKQMENAx70PbKnCbc9IMMX?= =?us-ascii?Q?yTXKzyZsLGz5tOt5G6DL4GlWB3YXJqqGKdBRyyd5KIxT8d1bC6LN0hmF8dQS?= =?us-ascii?Q?6QWXb9vDdZJE/IzUzwqNHQizTI2K3H2+YDg5QUbtJPDoSqem5piHSS7DnPRL?= =?us-ascii?Q?dDW31cpLTDu8n5g4uvxBP7MXyL00LVMb5zFhiGA1r56HB75euS+wX3q6lcMQ?= =?us-ascii?Q?jWPjC4vfgvUXFqXfbiv4D3PbcgMqNEUTnSECV+X0GUVf6XoBIa9zn4rcIeqt?= =?us-ascii?Q?AeqQko/b0h23C4+iaGUAIBqcpkKPGf+0PiDRnXwFuAWCxPoPtojFBvfqJYy5?= =?us-ascii?Q?heJscqeIF2pYQkxuCWD1wdQy1gKai4xxH9oHO5sapNfK1zDoTu52aePExJ/2?= =?us-ascii?Q?jCW6zPt1du3TI5f4A+QMYnfEhg1N8Qr7QwwrwcHjTRmV8483bHeP+j77nTvH?= =?us-ascii?Q?iNUABmjpUWwfFGh28drnI15ZxeBBe++tH5dIhR0v+8j013Tw7jgt2n9ffhS7?= =?us-ascii?Q?tTgrMyqRu/1AGsCpZfbLeBOvJTrgw51ocXd8TqkZdbL+AZcIcHwh+N3mwqiI?= =?us-ascii?Q?ct1ggoxBvJEtzf5fQle5FN1hK13eaTW9y9sKAeypyJ67?= Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: microsoft.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DM5PR21MB1767.namprd21.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: dd3d8ef5-51fc-4118-867a-08da6ffd33d8 X-MS-Exchange-CrossTenant-originalarrivaltime: 27 Jul 2022 18:24:11.3115 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 72f988bf-86f1-41af-91ab-2d7cd011db47 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: 7nFLuJ+SKoM+Neu5+ZPakgzOYaL7wHCO970ekzXH07e0/nu3KEHzvy6j+VkUCnyYaFKIcnSklbYFhdDi82dgjg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL1PR21MB3281 X-Spam-Status: No, score=-3.0 required=5.0 tests=BAYES_00, DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FORGED_SPF_HELO, KAM_LOTSOFHASH, KAM_SHORT, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, SPF_HELO_PASS, SPF_NONE, TXREP autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: gcc@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 27 Jul 2022 18:24:16 -0000 Hi David, Thank you for your offer to take on the responsibility of maintaining the A= utoFDO-specific portions of the code. I'll be happy to do that with Jan's a= nd other GGC maintainers' help. I hope more people will start using and contributing to AutoFDO. Thanks, Eugene -----Original Message----- From: David Edelsohn =20 Sent: Tuesday, July 26, 2022 3:38 PM To: Eugene Rozenfeld ; Jan Hubicka ; Martin Liska ; Xinliang David Li Cc: Andi Kleen ; Joseph Myers = ; gcc Subject: [EXTERNAL] Re: State of AutoFDO in GCC [You don't often get email from dje.gcc@gmail.com. Learn why this is import= ant at https://aka.ms/LearnAboutSenderIdentification ] On Tue, Jul 26, 2022 at 4:13 PM Eugene Rozenfeld via Gcc = wrote: > > Hello GCC community. > > I started this thread on the state of AutoFDO in GCC more than a year=20 > ago. Here is the first message in the thread:=20 > https://nam06.safelinks.protection.outlook.com/?url=3Dhttps%3A%2F%2Fgcc. > gnu.org%2Fpipermail%2Fgcc%2F2021-April%2F235860.html&data=3D05%7C01% > 7CEugene.Rozenfeld%40microsoft.com%7Ccabaec504f234632a03a08da6f5780d2% > 7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637944718882043585%7CUnkn > own%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwi > LCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=3D5RoiLypTlkNRIZW8yAufYR4qiO573 > 0PADO%2BFsS6InIU%3D&reserved=3D0 > > Since then I committed a number of patches to revive AutoFDO in GCC: > > Fix a typo in an AutoFDO error=20 > string %2Fgcc.gnu.org%2Fgit%2F%3Fp%3Dgcc.git%3Ba%3Dcommit%3Bh%3D23691ddd3aa3f > fe55892b2bff54f9a15a89de2b4&data=3D05%7C01%7CEugene.Rozenfeld%40micr > osoft.com%7Ccabaec504f234632a03a08da6f5780d2%7C72f988bf86f141af91ab2d7 > cd011db47%7C1%7C0%7C637944718882199821%7CUnknown%7CTWFpbGZsb3d8eyJWIjo > iMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C% > 7C%7C&sdata=3DLRgW4qyh%2FAdrlKluUXnaDTFCNW8tnS1WX8bCs1WAT7s%3D&r > eserved=3D0> Update gen_autofdo_event.py and=20 > gcc-auto-profile. https%3A%2F%2Fgcc.gnu.org%2Fgit%2F%3Fp%3Dgcc.git%3Ba%3Dcommit%3Bh%3D01 > d402c5e0ac1ddf5618bbe316b50067625fda46&data=3D05%7C01%7CEugene.Rozen > feld%40microsoft.com%7Ccabaec504f234632a03a08da6f5780d2%7C72f988bf86f1 > 41af91ab2d7cd011db47%7C1%7C0%7C637944718882199821%7CUnknown%7CTWFpbGZs > b3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D > %7C3000%7C%7C%7C&sdata=3DoBJvTW6RrkY6uURmr0UK5gaNiVS1b8vFfIyOoqq8AkM > %3D&reserved=3D0> Fixes for AutoFDO=20 > tests 2Fgcc.gnu.org%2Fgit%2F%3Fp%3Dgcc.git%3Ba%3Dcommit%3Bh%3Df9ad3d5339faaa > ed6e15a7b27d90fbc66eb72f37&data=3D05%7C01%7CEugene.Rozenfeld%40micro > soft.com%7Ccabaec504f234632a03a08da6f5780d2%7C72f988bf86f141af91ab2d7c > d011db47%7C1%7C0%7C637944718882199821%7CUnknown%7CTWFpbGZsb3d8eyJWIjoi > MC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7 > C%7C&sdata=3D6evlP10%2BQJyUuVZ3u%2Fv%2FP9nSIsASLjtWETyqeBfnQ2k%3D&am > p;reserved=3D0> Fix indir-call-prof-2.c with=20 > AutoFDO F%2Fgcc.gnu.org%2Fgit%2F%3Fp%3Dgcc.git%3Ba%3Dcommit%3Bh%3D0ed093c7c3f7 > 55bc1cd80e5186abeb2f5c50ee0c&data=3D05%7C01%7CEugene.Rozenfeld%40mic > rosoft.com%7Ccabaec504f234632a03a08da6f5780d2%7C72f988bf86f141af91ab2d > 7cd011db47%7C1%7C0%7C637944718882199821%7CUnknown%7CTWFpbGZsb3d8eyJWIj > oiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C > %7C%7C&sdata=3DmtMd21By6r8DiIIXzk5ePHP0iU%2FHfnDQG8%2FXJbAr5qE%3D&am > p;reserved=3D0> Fixes for AutoFDO=20 > testing F%2Fgcc.gnu.org%2Fgit%2F%3Fp%3Dgcc.git%3Ba%3Dcommit%3Bh%3D9265b3785313 > 91498ec1727f67a45da72a6c07e9&data=3D05%7C01%7CEugene.Rozenfeld%40mic > rosoft.com%7Ccabaec504f234632a03a08da6f5780d2%7C72f988bf86f141af91ab2d > 7cd011db47%7C1%7C0%7C637944718882199821%7CUnknown%7CTWFpbGZsb3d8eyJWIj > oiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C > %7C%7C&sdata=3DQnKrxt7W9wfTYY3Drjm%2FSn7D4yHwxjInvI8dj9KEIs4%3D& > reserved=3D0> Fix indirect call inlining with=20 > AutoFDO F%2Fgcc.gnu.org%2Fgit%2F%3Fp%3Dgcc.git%3Ba%3Dcommit%3Bh%3D285aa6895d47 > 9bed8e72ad363290846645b6faa0&data=3D05%7C01%7CEugene.Rozenfeld%40mic > rosoft.com%7Ccabaec504f234632a03a08da6f5780d2%7C72f988bf86f141af91ab2d > 7cd011db47%7C1%7C0%7C637944718882199821%7CUnknown%7CTWFpbGZsb3d8eyJWIj > oiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C > %7C%7C&sdata=3D695ieVftlFRwICzxxMmmIb9%2F%2FDBlYBy9jJn%2ByfzkhP0%3D& > amp;reserved=3D0> Improve AutoFDO count propagation=20 > algorithm %2F%2Fgcc.gnu.org%2Fgit%2F%3Fp%3Dgcc.git%3Ba%3Dcommit%3Bh%3D3d9e676793 > 9e9658260e2506e81ec32b37cba041&data=3D05%7C01%7CEugene.Rozenfeld%40m > icrosoft.com%7Ccabaec504f234632a03a08da6f5780d2%7C72f988bf86f141af91ab > 2d7cd011db47%7C1%7C0%7C637944718882199821%7CUnknown%7CTWFpbGZsb3d8eyJW > IjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000% > 7C%7C%7C&sdata=3DIXpOMFrH%2FSsrI7f1WbEJQHtl4Nt1ClVYzvM%2FCbR%2FDm0%3 > D&reserved=3D0> > AutoFDO: don't set param_early_inliner_max_iterations to=20 > 10. gcc.gnu.org%2Fgit%2F%3Fp%3Dgcc.git%3Ba%3Dcommit%3Bh%3Dc17975d81aaed49f > f759c20c68b31304a6953d58&data=3D05%7C01%7CEugene.Rozenfeld%40microso > ft.com%7Ccabaec504f234632a03a08da6f5780d2%7C72f988bf86f141af91ab2d7cd0 > 11db47%7C1%7C0%7C637944718882199821%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC > 4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C% > 7C&sdata=3D%2FM2iGyPxGCi8%2FnhqMQ4eUafsNyWy1IrNABa2TgVdBdQ%3D&re > served=3D0> > AutoFDO: Don't try to promote indirect calls that result in recursive=20 > direct=20 > calls 2Fgcc.gnu.org%2Fgit%2F%3Fp%3Dgcc.git%3Ba%3Dcommit%3Bh%3Dba125745d9e9fe > 90a18a2af8701b3269c5fdd468&data=3D05%7C01%7CEugene.Rozenfeld%40micro > soft.com%7Ccabaec504f234632a03a08da6f5780d2%7C72f988bf86f141af91ab2d7c > d011db47%7C1%7C0%7C637944718882199821%7CUnknown%7CTWFpbGZsb3d8eyJWIjoi > MC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7 > C%7C&sdata=3D%2BMV7YxH617Nf6PjEF8Z3ImdEkvBptM9y47fp1ja4wVY%3D&re > served=3D0> Fix profile count maintenance in vectorizer=20 > peeling. 2F%2Fgcc.gnu.org%2Fgit%2F%3Fp%3Dgcc.git%3Ba%3Dcommit%3Bh%3D5af22024f62 > f1f596a35d3c138d41d47d5697ca0&data=3D05%7C01%7CEugene.Rozenfeld%40mi > crosoft.com%7Ccabaec504f234632a03a08da6f5780d2%7C72f988bf86f141af91ab2 > d7cd011db47%7C1%7C0%7C637944718882199821%7CUnknown%7CTWFpbGZsb3d8eyJWI > joiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7 > C%7C%7C&sdata=3DaiXW3IyLauhHOvpsPcqDXwg9VT3nn7o1Zh1KPKLxlDo%3D&r > eserved=3D0> > > I also made a number of fixes and improvements to create_gcov tool in htt= ps://nam06.safelinks.protection.outlook.com/?url=3Dhttps%3A%2F%2Fgithub.com= %2Fgoogle%2Fautofdo&data=3D05%7C01%7CEugene.Rozenfeld%40microsoft.com%7= Ccabaec504f234632a03a08da6f5780d2%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C= 0%7C637944718882199821%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoi= V2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=3DzGQgQdD%= 2F6a9tk8EcaFLcQ1DiX5nGgzIjWUrWqzEIjk4%3D&reserved=3D0 . > > AutoFDO in GCC is in a much better shape now. > > I have a further set of patches that improve DWARF discriminator=20 > support in GCC and enable AutoFDO to use discriminators. It's based on co= mmits in an old Google vendor branch as described in Andi's mail below but = uses a different approach for keeping track of per-instruction discriminato= rs. > > I submitted the first (and the biggest) of these patches almost 2=20 > months ago on June 2:=20 > https://nam06.safelinks.protection.outlook.com/?url=3Dhttps%3A%2F%2Fgcc. > gnu.org%2Fgit%2F%3Fp%3Dgcc.git%3Ba%3Dcommit%3Bh%3D5af22024f62f1f596a35 > d3c138d41d47d5697ca0&data=3D05%7C01%7CEugene.Rozenfeld%40microsoft.c > om%7Ccabaec504f234632a03a08da6f5780d2%7C72f988bf86f141af91ab2d7cd011db > 47%7C1%7C0%7C637944718882199821%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLj > AwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&a > mp;sdata=3DaiXW3IyLauhHOvpsPcqDXwg9VT3nn7o1Zh1KPKLxlDo%3D&reserved=3D= 0 > but only got a review from Andi (https://nam06.safelinks.protection.outlo= ok.com/?url=3Dhttps%3A%2F%2Fgcc.gnu.org%2Fpipermail%2Fgcc-patches%2F2022-Ju= ne%2F596549.html&data=3D05%7C01%7CEugene.Rozenfeld%40microsoft.com%7Cca= baec504f234632a03a08da6f5780d2%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7= C637944718882199821%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2l= uMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=3DTC0cBmoLsDJ= 3rx9paqvfFFTR9mSVuW%2Fb%2Bu4Y8jFyf%2FE%3D&reserved=3D0) who is not allo= wed to approve patches for commit. I pinged gcc-patches twice with no succe= ss. > > I would appreciate help in getting a review on this patch so that I can g= et it committed and submit patches that depend on it. Hi, Eugene Thanks for your efforts to fix and improve AutoFDO in GCC. I believe that = part of the difficulty with obtaining a review of the patches is that the o= riginal authors have dispersed and no one in the GCC community officially i= s the maintainer for the feature. Because you seem to be one of the primar= y users and developers, would you be interested to take on the responsibili= ty of maintaining the AutoFDO-specific portions of the code, with guidance = and mentorship from other GCC maintainers, especially the ones responsible = for gcov and PDO? Thanks, David > > Thank you, > > Eugene > > -----Original Message----- > From: Andi Kleen > Sent: Monday, May 10, 2021 10:21 AM > To: Joseph Myers > Cc: Jan Hubicka ; gcc ; Eugene=20 > Rozenfeld > Subject: [EXTERNAL] Re: State of AutoFDO in GCC > > On Mon, May 10, 2021 at 04:55:50PM +0000, Joseph Myers wrote: > > On Mon, 10 May 2021, Andi Kleen via Gcc wrote: > > > > > It's difficult to find now because it was a branch in the old SVN=20 > > > that wasn't converted. Sadly the great git conversion was quite lossy= . > > > > All branches and tags, including deleted ones, were converted (under=20 > > not-fetched-by-default refs in some cases); the git repository has=20 > > everything that might plausibly be useful, omitting only a few=20 > > things that would have been meaningless to convert, such as mistaken=20 > > branch creations in the root of the repository and the SVN hooks direct= ory. > > Use "git ls-remote git://gcc.gnu.org/git/gcc.git" to see the full=20 > > list of over 5000 refs available in the repository (or do a clone=20 > > with --mirror to fetch them all). > > Okay thanks. I don't see them in any of the web interfaces, neither on > https://nam06.safelinks.protection.outlook.com/?url=3Dhttps%3A%2F%2Fgcc. > gnu.org%2Fgit%2Fgitweb.cgi%3Fp%3Dgcc.git&data=3D05%7C01%7CEugene.Roz > enfeld%40microsoft.com%7Ccabaec504f234632a03a08da6f5780d2%7C72f988bf86 > f141af91ab2d7cd011db47%7C1%7C0%7C637944718882199821%7CUnknown%7CTWFpbG > Zsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0% > 3D%7C3000%7C%7C%7C&sdata=3DspoRRd6x520PaarYjzVmTcmjhIXTtVZWw%2Bh0LJc > jshE%3D&reserved=3D0 > nor on > https://nam06.safelinks.protection.outlook.com/?url=3Dhttps%3A%2F%2Fgith > ub.com%2Fgcc-mirror%2Fgcc&data=3D05%7C01%7CEugene.Rozenfeld%40micros > oft.com%7Ccabaec504f234632a03a08da6f5780d2%7C72f988bf86f141af91ab2d7cd > 011db47%7C1%7C0%7C637944718882199821%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiM > C4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C > %7C&sdata=3D442RFALNd91XWlWDIo4482Q7YUuJBBlETZwE1WZDZP8%3D&reser > ved=3D0 > but > git fetch origin vendors/google/heads/gcc-4_8 does the trick for fetching= the commits, but not the symbolic branches. > > Anyways with that it looks like the discriminator changes are: > > commit fd9de90d750e3588b1e5a218b28102b6c8bb8434 > Author: Dehao Chen > > Date: Thu Oct 10 14:39:31 2013 +0000 > > Use only lineno+discriminator (remove the callee function name) as th= e key to represent callsite. Because each callsite will have its discrimina= tor if in the same line. > > 2013-10-10 Dehao Chen =20 > > > > * gcc/auto-profile.c (get_function_instance_by_decl): Remove > callee_name from callsite. > (read_function_instance): Likewise. > > From-SVN: r203379 > > commit 3987da76affbfbe7195c0a16b33beedc649ec14f > Author: Dehao Chen > > Date: Tue Aug 27 16:46:49 2013 +0000 > > Refactor AutoFDO to: > > 1. Now that we have discriminator for inlined callsite, we do not nee= d special handling for callsite location any more. > 2. If a source line is mapped to multiple BBs, only the first BB will= be annotated. > 3. Before actual annotation, mark everythin BB/edge as not annotated. > > 2013-08-27 Dehao Chen =20 > > > > * gcc/auto-profile.c (location_set): New data structure. > (get_count_info): Add new parameter. > (get_combined_location): Remove unused parameter. > (get_inline_stack): Remove unused parameter. > (afdo_get_bb_count): Add new parameter. > (afdo_annotate_cfg): Reset annotated flags. > commit 1e6c4a7a8fb8e20545bb9f9032d3854f3f794c18 > Author: Dehao Chen > > Date: Thu Aug 22 17:20:29 2013 +0000 > > Set discriminator for call stmts within a same basic block. > > 2013-08-22 Dehao Chen =20 > > > > * gcc/tree-cfg.c (assign_discriminators): assign discriminato= r for > call stmt in a same BB if it is mapped to a same line. > > commit b0be0175f4cf18fdd77bb013b181eead3a0a4773 > Author: Dehao Chen > > Date: Mon Aug 19 21:26:33 2013 +0000 > > Fix the discriminator assignment bug during hashing. > > 2013-08-19 Dehao Chen =20 > > > > * tree-cfg.c (next_discriminator_for_locus): Fix discriminato= r > assignment bug. > > From-SVN: r201857 > commit 9fa26998a63d4b22b637ed8702520819e408a694 > Author: Dehao Chen > > Date: Mon Aug 19 20:16:47 2013 +0000 > > Add discrminator for inlined callsites. > > 2013-08-19 Dehao Chen =20 > (dehao@google.com) > > * include/dwarf2.def (DW_AT_GNU_discriminator): New attribute= . > * gcc/dwarf2out.c (add_call_src_coords_attributes): Emit disc= riminator > attribute for inlined callsite. > > From-SVN: r201856 > > -Andi >