From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM12-MW2-obe.outbound.protection.outlook.com (mail-mw2nam12on2121.outbound.protection.outlook.com [40.107.244.121]) by sourceware.org (Postfix) with ESMTPS id F32993858428 for ; Wed, 7 Sep 2022 07:30:59 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org F32993858428 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=os.amperecomputing.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=os.amperecomputing.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=mRnTlxPWlARA1ejji8u8m+IjcPCGRLVFT3HBga/zTvtW43xUO6y25SuUMETRMuPj5tR6NOQu+5Iu8SLiQ6NKVp2ciR+hCEpi7CYYTXiLtI/kQgiBDivMwKKFBiTjP4y114LEMm7p+tzeZR7hfhO5xLgKiplZNIgDNF8YJu2IdNvep3NXSnMmECzJLs7IMGurzlJI8RBjQzWhhAV8bZ0TuJfbdfUrPWN1CCtEXrUOw7Dovc8og+KgZYYwcy2W4IwSceqrEQFBCIyUo4fdx18EECNe5SC2MEx8/qZCPKW7rnX4plWUAYYcGQs7L1g+p9lohu29UCnBY9V4zNafKlNFdg== 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=1glTc3dbdPJzyx6Nt66ftRlzhiDSwsCuC1m5+11xmto=; b=PMteMM180Iw/X156aaVoxTmbM2QZvjfvtAv/u5P3kpT0sSPHSg63FyVfxNtlIVWXzSzv0uEc8xysWxj0oN4rgFliILW28ARBu4SWrN7nauYEjUFrr6sUCIljAm+H5orf8Noot08NFtBXPWkSGc1+fcoLBbLgh8jM23y62MY0aBRBgmgX2nTWhjAhO4AfMLjFxiWrGjUs2vDKkYUdS1+Icg1Iygsmg4zC5MTT9OI9fhBPhPN6eKEuc2rN49sXZxajAqN5lxkZTGL6zy58WGCk8pKcfLrdK/Isah1o4wCoaygH/U6p1F4ho6BPP16Kj/wzUCTUMCo5snCc+g783gMGoA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=os.amperecomputing.com; dmarc=pass action=none header.from=os.amperecomputing.com; dkim=pass header.d=os.amperecomputing.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=os.amperecomputing.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=1glTc3dbdPJzyx6Nt66ftRlzhiDSwsCuC1m5+11xmto=; b=cMb98GkXCkqE31RGZAXu+916PcZhtd2LnyszGCU8OG7sOsypz0TlfkAUwjGyge9PjB+tdUnKCQGh/dpqfNJOkd5hFHlLr7v3up/HuwDxSQ44yj9oqTpt73fqdSfjg7JlbXEh2OivcqzC5osdagtBNzWDPSlT0PlzHipSPK6OUG4= Received: from SN6PR01MB4240.prod.exchangelabs.com (2603:10b6:805:ae::22) by DM8PR01MB7096.prod.exchangelabs.com (2603:10b6:5:315::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5588.10; Wed, 7 Sep 2022 07:30:56 +0000 Received: from SN6PR01MB4240.prod.exchangelabs.com ([fe80::6d6b:3c6b:8ce3:a57d]) by SN6PR01MB4240.prod.exchangelabs.com ([fe80::6d6b:3c6b:8ce3:a57d%5]) with mapi id 15.20.5588.010; Wed, 7 Sep 2022 07:30:56 +0000 From: Di Zhao OS To: "gcc-patches@gcc.gnu.org" CC: Richard Biener Subject: PING^2: [PATCH v5] tree-optimization/101186 - extend FRE with "equivalence map" for condition prediction Thread-Topic: PING^2: [PATCH v5] tree-optimization/101186 - extend FRE with "equivalence map" for condition prediction Thread-Index: AdjCi3WxITnAOtJdSby0omqmuGKT2w== Date: Wed, 7 Sep 2022 07:30:56 +0000 Message-ID: Accept-Language: en-US Content-Language: zh-CN X-MS-Has-Attach: X-MS-TNEF-Correlator: msip_labels: MSIP_Label_5b82cb1d-c2e0-4643-920a-bbe7b2d7cc47_ActionId=23231d92-8e16-412e-9228-7c888b39ca8d;MSIP_Label_5b82cb1d-c2e0-4643-920a-bbe7b2d7cc47_ContentBits=0;MSIP_Label_5b82cb1d-c2e0-4643-920a-bbe7b2d7cc47_Enabled=true;MSIP_Label_5b82cb1d-c2e0-4643-920a-bbe7b2d7cc47_Method=Standard;MSIP_Label_5b82cb1d-c2e0-4643-920a-bbe7b2d7cc47_Name=Confidential (Default);MSIP_Label_5b82cb1d-c2e0-4643-920a-bbe7b2d7cc47_SetDate=2022-05-29T14:17:50Z;MSIP_Label_5b82cb1d-c2e0-4643-920a-bbe7b2d7cc47_SiteId=3bc2b170-fd94-476d-b0ce-4229bdc904a7; authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=os.amperecomputing.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 45b6a989-a53b-4f08-0290-08da90a2e713 x-ms-traffictypediagnostic: DM8PR01MB7096:EE_ x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 3bzNA1EdPfzMqiv5dW9thPXyKOf7h01buyiwFm2tmURh7x5hKsGgtHLSTG1SnaCXMu0ug1zrdZ+5q1Y1+eull6/4EpdixkG5EqnKkk1ewkV/4n6/hB9Ey9SbYBi8tyQt9eM3fFWMoeDtwldPbOAyOukehAeaj3itKwagg6guAillhv0niouMHyHsHaVKvBODI3kvhOE1+hhnZpRhmDTfKpFjnZGejapeyjKrk3Qyho2Rkurtp0dLuc10XzW8ddaQMMU5m6Ure9Im3JGJw6qvOD25vFOoR1YTtlQYsMpLEWhICCOhAarqoNQwlwf92HMM5deWjB4w8UnJHXNgH7aobrOacpYenkTOR/37fhzJhMn0aunMOOhd5B/ogo1YHPP3zVLQ8vgv7fEr2dQd6cLM2S85EnZmo86cnXu/TmFU7kQhkpMHBGkjiWv8FNSRYYXoid8S0iComGOaub0psugXUJq/CBEhRSTIEeSHRB1myAUo34kZ2coGnT/lTHVJa0+NwhsqPGAGwcw1XlhCqItFsH/HdY7OFUFHBnZdpsb8M8tP0vhsArp71y0avLZ9u5UuYZmPc9CO1smyzw3PW99jgD4JdLS+SqdpFU6BEaRUPIeoDPMQ6suLQblFMLpwsldkyZmtiIkLo0L9PjRpsbSD/K5lz/oZ1UksCNRjtghDO41K83T562+ZvYWR6YZk9gmQZZQZzCEozsaGTPWM2T+4+/Wah2H/JoH02jsdDWRJ+VkkRXrTPJ+eGWpPhQSdWpzXC+6vKxTK/5FzoR+hgBqwuRNxZEoh99kmMRj+/C/p+bDT6PitwQLznlGIf8yZbw39 x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN6PR01MB4240.prod.exchangelabs.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(396003)(346002)(39850400004)(136003)(376002)(366004)(41300700001)(55016003)(83380400001)(9686003)(53546011)(8936002)(26005)(7696005)(6506007)(5660300002)(66476007)(76116006)(2906002)(52536014)(66446008)(64756008)(66556008)(186003)(66946007)(966005)(478600001)(6916009)(316002)(4326008)(84970400001)(71200400001)(38070700005)(33656002)(8676002)(122000001)(86362001)(38100700002)(81973001);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?1MfZ7FHU/UYlv9c19jY+XsEW1QlGfL66qYeZuYGyU3yj+lj/U5iOIlT30hTW?= =?us-ascii?Q?/9mE72N+t+cQZ+bNkqUyTv6OJscdnAmrJvootL/rCvfTAR3eSbYBYIT1ph1C?= =?us-ascii?Q?wMZQzxQTxjOBbMQP3QvRxiPnYHvLtgTWtFs70tSNNMhmrgZsOxhMn36wphGu?= =?us-ascii?Q?yCMy6xdLyD7Mgkp3cWKKQSJtZcNv7GvVf+cuO9VXwNmsITXLw7NsokPCxRar?= =?us-ascii?Q?EPR8z3zy8iNUJfPT29EW8zwl5aHmfBCbrGCkdhBOMZ4hI474cI0lsRkKwbFr?= =?us-ascii?Q?r5uTepThANqaODZLNj3j9b6952Up0j0ek9Tg0J6iK3aly+oj6GuY11ujvNpm?= =?us-ascii?Q?856CZ4huKlR0jx+uVGna6lX7bxcnk+WxoVQV+Do6VifySKiFO0/21HjLb/HH?= =?us-ascii?Q?jeRdxUq1Y55HnM8LkJrnxfC5R4JjCCk1Uq71aYwopJrdDXh8x3vLcQmeTPRB?= =?us-ascii?Q?oyGH8x+Dec4Fymbj8HdQLLmSJulJQPURRt7qFkCQ+peJJRtu0kWXaxyUHAxu?= =?us-ascii?Q?9rZHCWr0USsgfP3S0IiVQhB4K244oK3+89hK0OMfqo55YbqAOaKYJ8BFeay6?= =?us-ascii?Q?uCu//H/54jOMN42HC20QbQTJBiNq10vZxgZE1wM5mnDo7avWl0gMhS416iTl?= =?us-ascii?Q?+JOzA1RuyfrPGQ5RNgY3DnKNICzFGcnEQg7JDtID2idu22AvUvvY1q6Bg2KN?= =?us-ascii?Q?lsx40vP1G7ZHU3/qY5LaGQDKy3jMqYxBxTYuz5GTBwDiGuFWJ0RT0rwLLBhF?= =?us-ascii?Q?ZYZexAhTySVFoUg2yK/4SD0jCIkS76tvFN5+hsPlmpd3xJ9TCTy0Uzf2nL0l?= =?us-ascii?Q?FcrBBNKGuD6PtmFyg5O0biNHpoMTS2eMzuY9/cOM0cwO00KTUIj/RoiLVZgJ?= =?us-ascii?Q?l80+8e6k+6fbb5zlGs/XAF6A8gr+9qMhtNYuZJPlP6oEp5R4+djkrvxx2KMq?= =?us-ascii?Q?GuS0yHs77MlcpIkqKhFOwRAES1u28ROYU3jtWiOX02hZOEJ+fMFDU4Ykq/rR?= =?us-ascii?Q?a4kkE7zT7jXxuk5fh++rx25e+u0urEejYz0fzWvOskI2OGNClf0cr+l1thIX?= =?us-ascii?Q?znh3pjfvT96sKjMyFE48GnmQArjH8y1ObPl9dwts9IRqskaze2paMk5i/0qG?= =?us-ascii?Q?zvMQMEpQO6kYRlIp52rxNS5GcswwS5V60sRE0NzgHuKj1tNCEAOXpANcjLOx?= =?us-ascii?Q?FB2dU97zYz54rmuLQmCeXtCp0qRZp0Wr6CpYdhlB0aVTvc65GVn2TXFg0PNG?= =?us-ascii?Q?1pBnER3x9IEosQ4wG723uq7O4WKGnJpjknsupNVdW3hKsJtHlQ1+G4+KqU6p?= =?us-ascii?Q?eEJfSUiWdh9Ku3B707GBoBgURPYc4BPq14dCnjXdAerWgtZ96d6a02qywm7t?= =?us-ascii?Q?TFC6PAob1pJos9ZRoYgDYnc17O1bAykZYcivgGtie4hkT0+rbMuJj3CrXnY9?= =?us-ascii?Q?tw8BpcoTe8bqKebDjtEweEZr9xZn5VdIVupts1mL1emVfVDMHrV6Wdc+MhNB?= =?us-ascii?Q?DYDhW/0o+SRcYoU49JQOjRHOpzEY3+WOgbWc35zgApyz/79xvemK0eIavr19?= =?us-ascii?Q?n7Rkoat9O+7xTxFiDxb8lJxmHlWzHMpRcxtVic/shrBtN6z05QWj9cJ8OAV0?= =?us-ascii?Q?JQ=3D=3D?= Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: os.amperecomputing.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: SN6PR01MB4240.prod.exchangelabs.com X-MS-Exchange-CrossTenant-Network-Message-Id: 45b6a989-a53b-4f08-0290-08da90a2e713 X-MS-Exchange-CrossTenant-originalarrivaltime: 07 Sep 2022 07:30:56.1918 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 3bc2b170-fd94-476d-b0ce-4229bdc904a7 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: LruHV62PZWNwTj572SXdeynu2FX2fTGVsRfZwY4gz2/9K6NToM5RycxdpSuq2fH8aH61i5+EIXBCgaysSf7pcxs4meFIJzMFYaKFWPiH3RTH849EpZxeKXoFcsO2pls3 X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM8PR01MB7096 X-Spam-Status: No, score=-2.4 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,KAM_SHORT,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_PASS,SPF_PASS,TXREP,T_SCC_BODY_TEXT_LINE 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: Gentle ping again. Thanks, Di Zhao > -----Original Message----- > From: Di Zhao OS > Sent: Tuesday, July 12, 2022 2:08 AM > To: 'gcc-patches@gcc.gnu.org' > Cc: 'Richard Biener' > Subject: PING: [PATCH v5] tree-optimization/101186 - extend FRE with > "equivalence map" for condition prediction >=20 > Updated the patch in the attachment, so it can apply. >=20 > Thanks, > Di Zhao >=20 > > -----Original Message----- > > From: Di Zhao OS > > Sent: Sunday, May 29, 2022 11:59 PM > > To: gcc-patches@gcc.gnu.org > > Cc: Richard Biener > > Subject: [PATCH v5] tree-optimization/101186 - extend FRE with "equival= ence > > map" for condition prediction > > > > Hi, attached is a new version of the patch. The changes are: > > - Skip using temporary equivalences for floating-point values, because > > folding expressions can generate incorrect values. For example, > > operations on 0.0 and -0.0 may have different results. > > - Avoid inserting duplicated back-refs from value-number to predicates. > > - Disable fre in testsuite/g++.dg/pr83541.C . > > > > Summary of the previous versions: > > https://gcc.gnu.org/pipermail/gcc-patches/2021-December/587346.html > > > > Is the patch still considered? > > > > Thanks, > > Di Zhao > > > > --- > > > > Extend FRE with temporary equivalences. > > > > 2022-05-29 Di Zhao > > > > gcc/ChangeLog: > > PR tree-optimization/101186 > > * tree-ssa-sccvn.c (VN_INFO): remove assertions (there could be= a > > predicate already). > > (dominated_by_p_w_unex): Moved upward. > > (vn_nary_op_get_predicated_value): Moved upward. > > (is_vn_valid_at_bb): Check if vn_pval is valid at BB. > > (lookup_equiv_head): Lookup the "equivalence head" of given nod= e. > > (lookup_equiv_heads): Lookup the "equivalence head"s of given n= odes. > > (vn_tracking_edge): Extracted utility function. > > (init_vn_nary_op_from_stmt): Insert and lookup by "equivalence > head"s. > > (vn_nary_op_insert_into): Insert new value at the front. > > (vn_nary_op_insert_pieces_predicated_1): Insert as predicated v= alues > > from pieces. > > (fold_const_from_equiv_heads): Fold N-ary expression of equiv-h= eads. > > (push_new_nary_ref): Insert a back-reference to vn_nary_op_t. > > (val_equiv_insert): Record temporary equivalence. > > (vn_nary_op_insert_pieces_predicated): Record equivalences inst= ead > of > > some predicates; insert back-refs. > > (record_equiv_from_prev_phi_1): Record temporary equivalences > > generated > > by PHI nodes. > > (record_equiv_from_prev_phi): Given an outgoing edge of a > conditional > > expression taken, record equivalences generated by PHI nodes. > > (visit_nary_op): Add lookup previous results of N-ary operation= s by > > equivalences. > > (insert_related_predicates_on_edge): Some predicates can be com= puted > > from equivalences, no need to insert them. > > (process_bb): Add lookup predicated values by equivalences. > > (struct unwind_state): Unwind state of back-refs to vn_nary_op_= t. > > (do_unwind): Unwind the back-refs to vn_nary_op_t. > > (do_rpo_vn): Update back-reference unwind state. > > * tree-ssa-sccvn.h (struct nary_ref): hold a lists of reference= s to > > the > > nary map entries. > > > > gcc/testsuite/ChangeLog: > > > > * g++.dg/pr83541.C: Disable fre. > > * gcc.dg/tree-ssa/pr68619-2.c: Disable fre. > > * gcc.dg/tree-ssa/pr71947-1.c: Disable fre. > > * gcc.dg/tree-ssa/pr71947-2.c: Disable fre. > > * gcc.dg/tree-ssa/pr71947-3.c: Disable fre. > > * gcc.dg/tree-ssa/pr71947-5.c: Disable fre. > > * gcc.dg/tree-ssa/pr71947-7.c: Disable fre. > > * gcc.dg/tree-ssa/pr71947-8.c: Disable fre. > > * gcc.dg/tree-ssa/pr71947-9.c: Disable fre. > > * gcc.dg/tree-ssa/vrp03.c: Disable fre. > > * gcc.dg/tree-ssa/ssa-fre-100.c: New test. > > * gcc.dg/tree-ssa/ssa-fre-101.c: New test. > > * gcc.dg/tree-ssa/ssa-fre-102.c: New test. > > * gcc.dg/tree-ssa/ssa-pre-34.c: New test.