From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR04-VI1-obe.outbound.protection.outlook.com (mail-vi1eur04on2071.outbound.protection.outlook.com [40.107.8.71]) by sourceware.org (Postfix) with ESMTPS id 9CD4E3858D37 for ; Thu, 9 Nov 2023 09:10:10 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 9CD4E3858D37 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=arm.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=arm.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 9CD4E3858D37 Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=40.107.8.71 ARC-Seal: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1699521012; cv=pass; b=i3844fWVYUJrTg6guENCjhUA3u3xTClkhh6/+7Ov7KO9XE+rD8qxGO3bt0pEfILqtFprZq3w5zSYxAef52Typ5pIIl7gDTqOv4XEAlZlGlP0QYfxC3kAXxqzY+TeOeWpHHrpqXSTYF3xlbNq4Z+O+okxhPlUpCF3zo3cfPhBcYo= ARC-Message-Signature: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1699521012; c=relaxed/simple; bh=T9xckWA7aMqw4rz6XfNATtG58bvR5K3OWTvj2dFDTnY=; h=DKIM-Signature:DKIM-Signature:From:To:Subject:Date:Message-ID: MIME-Version; b=rK3bwZEM4OmdZ0+6n/pMAQMHS4/rohQpjdHKc5UJPKW0aQ6nvCI87JgGNRC97hAomB2MJLo5SYmp5NFf7xUc+qcLQ2iivB6F8v3mcq/ifzdKrWhOSbAku8SJQRAM23zRtM5ZtOEzrQMXhTYJKFe7akb4GOuoGYu77gLoLVisRyY= ARC-Authentication-Results: i=3; server2.sourceware.org ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass; b=IzdOfBziUxpN5o2pKjQtWbnNRqkhGPc1Us9zxCzrTk3jusGaQqCWW1ZWxQL1sFx1fgZ3Gq/lT78DTySgW5OssRIjWWxasxWPAhdSOw8KWLd68fhX7E7IvNqCrKE58mD5rK1fkxJlIxrQf7OeDZmPmkVhNHmj2DYh1oRQhqAhNzqswwxn7IwbqlrTMAq3XkjsZ4tXFoKqwN3rUFKNt0hwp8J010ZmBMS9uqN83CbAywoIZ2OoKu+H74NYshu/oX7FFVWqCrqUNcANapUc8mRssN08Tqbyk2wxFlenh9qN78hGo86ur6sniW+CQ2BrtlqKaq116x0NxysZHpBh5f6CCg== ARC-Message-Signature: i=2; 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=di0akB/lVzcwdlbZYwMEF6jFiBPVG5S7xzrco5Ff0R4=; b=UXsdED+kkrIhq7oqp8Pp8uZvkYF+coGrFkOpLQxkpPSSwWVGlpNJTljmJI7V9PDjFMHHCdi/a2/N2E5OwZebhynlSc/F1LvLda5sNMEgqux6WSGIqYTPWgtjVJdDbRaUN853dJ+GeIIKjhvPjMLzKzP2ms8KD2Sb30k15LQyoF0PXUru+oapbTmPmUM9MNoxL9Rbtz2VfazYT3TotvTDRpyGhRLkazRTj7yW8D663sP7FwK6IAK4sBH0erodEW5EhPz85/GXLZjMDGHRT3vGKalav0zV6wRwHZ6z0IVHVY4sTsX3b3kA6gaw9jXABwK1dzOFY3nmy5XLd9uGQyaRlw== ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is 63.35.35.123) smtp.rcpttodomain=gcc.gnu.org smtp.mailfrom=arm.com; dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com] dmarc=[1,1,header.from=arm.com]) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=di0akB/lVzcwdlbZYwMEF6jFiBPVG5S7xzrco5Ff0R4=; b=2lR15SpfKhAO4m0W/RIJx39wKCH2oX4wiiWR5TFTYv12MjFsUEhPoclXwnqu8KinTlv4Xzwxxqftd8YCx7DXTiwI26Fu4dgJ3Z8CKD8n7JdwyMzxJwmJe0KhvyXoay4Yt3bFrD/6c1RKBT6qJYtYbJc6UbhrY+/Tq7xXCynWa4E= Received: from AS9PR07CA0050.eurprd07.prod.outlook.com (2603:10a6:20b:46b::8) by VI1PR08MB10199.eurprd08.prod.outlook.com (2603:10a6:800:1bf::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.28; Thu, 9 Nov 2023 09:10:01 +0000 Received: from AMS0EPF000001B0.eurprd05.prod.outlook.com (2603:10a6:20b:46b:cafe::90) by AS9PR07CA0050.outlook.office365.com (2603:10a6:20b:46b::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6977.19 via Frontend Transport; Thu, 9 Nov 2023 09:10:01 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 63.35.35.123 as permitted sender) receiver=protection.outlook.com; client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com; pr=C Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by AMS0EPF000001B0.mail.protection.outlook.com (10.167.16.164) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6977.17 via Frontend Transport; Thu, 9 Nov 2023 09:10:01 +0000 Received: ("Tessian outbound 5d213238733f:v228"); Thu, 09 Nov 2023 09:10:01 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: 0db1388c65c61346 X-CR-MTA-TID: 64aa7808 Received: from c7d01c979475.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 4152E668-6EEE-45B8-9377-9F29508D2032.1; Thu, 09 Nov 2023 09:09:54 +0000 Received: from EUR04-HE1-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id c7d01c979475.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Thu, 09 Nov 2023 09:09:54 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=H3kTwybuAc9+r0qcfxFCK49pAJ95Ko/CtnkPeR/lZTzvuU4WP5G4cEmNpkpP3QVP3giQXT1ZaqssPm1i0QzFE/0JM+rTCzpLjUvmHnZe1FC9ls75pslLIsjjfy0hV0xovoui0sedG8no5AEPKUmzrIpWsvvxJtByhkQ7diTDq1tvTWBIZYQPOY/RnxPa4i1UJEK5MPJo+aFjFUy/vQBIzPadPl5x+bdMx1Z1SKR6z87EMpBXF40tc/dG4yOHvDiKOApu8LmIOsJvQ9wHUknaGwiQhW3ebRgluZeonthbvZInJJ4OIYq6PD8uLT/JcufYNbR+eQ2zQoWT+gv5F3Q4MQ== 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=di0akB/lVzcwdlbZYwMEF6jFiBPVG5S7xzrco5Ff0R4=; b=k9sAi8HD44KehVlOzpMjjoahRzqXRZWK7AD1HxadtbAowAzLyrDdbGpDmAMrh+0EmPcEyHlLxOtKERexPAHLx4yCUbldPxZ2wdKIe9hobhbDBNDfx128M4GGZYyj5vu5LNHoacse0ajkzXGkfOBaTCiprraq9l5t2k4DKN6+aZ2Uj7zdHpoRIPcxZ864RbpC+TqEV4IUZxjg1WQt3wB1rclFYR+47ZfmOfu7DupHxO7kmWFTIojPtJKmuYKuiCNNasILoRfCMR/mSr0BtkNMinKKFzYNp7KWL6X0xmau/V3BZxnAymIGubVz6oIHZ1B9KZabvETncbzENWaWhjRAMA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=di0akB/lVzcwdlbZYwMEF6jFiBPVG5S7xzrco5Ff0R4=; b=2lR15SpfKhAO4m0W/RIJx39wKCH2oX4wiiWR5TFTYv12MjFsUEhPoclXwnqu8KinTlv4Xzwxxqftd8YCx7DXTiwI26Fu4dgJ3Z8CKD8n7JdwyMzxJwmJe0KhvyXoay4Yt3bFrD/6c1RKBT6qJYtYbJc6UbhrY+/Tq7xXCynWa4E= Received: from AM0PR08MB5316.eurprd08.prod.outlook.com (2603:10a6:208:185::14) by AM8PR08MB6388.eurprd08.prod.outlook.com (2603:10a6:20b:36b::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.29; Thu, 9 Nov 2023 09:09:52 +0000 Received: from AM0PR08MB5316.eurprd08.prod.outlook.com ([fe80::d10c:d652:cb1a:41fb]) by AM0PR08MB5316.eurprd08.prod.outlook.com ([fe80::d10c:d652:cb1a:41fb%5]) with mapi id 15.20.6954.029; Thu, 9 Nov 2023 09:09:51 +0000 From: Tamar Christina To: Richard Biener , "gcc-patches@gcc.gnu.org" Subject: RE: [PATCH] tree-optimization/111950 - vectorizer loop copying Thread-Topic: [PATCH] tree-optimization/111950 - vectorizer loop copying Thread-Index: AQHaELMwEfH/nQCvNU6mnrIAyt2yeLBxtGkg Date: Thu, 9 Nov 2023 09:09:51 +0000 Message-ID: References: <33fb3bb3-9548-4867-95f6-f7319bde2270@AMS1EPF00000043.eurprd04.prod.outlook.com> In-Reply-To: <33fb3bb3-9548-4867-95f6-f7319bde2270@AMS1EPF00000043.eurprd04.prod.outlook.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: Authentication-Results-Original: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; x-ms-traffictypediagnostic: AM0PR08MB5316:EE_|AM8PR08MB6388:EE_|AMS0EPF000001B0:EE_|VI1PR08MB10199:EE_ X-MS-Office365-Filtering-Correlation-Id: ed85138f-8e08-441f-4ac3-08dbe103a7ad x-checkrecipientrouted: true nodisclaimer: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: 7Fl/YrNf+KKPBeQCciomkzYZpQ0BxiGuMFuR7KpPJFx/9S6Mo8Iazo1OICZbspLfyuFL9DcDibh6bJAX8qmYj6vZRWwLe1h/WJomEA1ZylHCrx63Mq9Qn76JQemkI2al9KvhH5hg0EwlqkGIkItEXVzRozB7uZ23OqfFO4Tn+BN1WS89oS9bHEF9acBRlrhu8h4ai4eVs7Jp2fweuYqUsUeNh7e2/9+Ze8s7dE+ztnXr1qG2c5aUVlWYlnbWlAL88EZr70wIjXAIQXl3obrWf0yul/Cq+7edZ2zty+tRcc5VZwv1DsVxAnWI0/CCwt02JxqCRmig6uYBDw7auCi59b3Gts6rYWV/sDTkPlkerCK0RWoVtwKE1TA1TGNFQ1vFKhe5jLp1iDRV61HSB1OcWALw4R2YRsfxI4qmcd7HA15dNt61juUX2feYPib5vNloqqzCMohfTSZ5ZDvxy8dQwmiTDb37gncyZsjYOTGTYOk3dY8HZYgAhjxj3ql5rloyo7AnSXe4TqpjiLB6MYZYl6w1ioDNRCC6rRs+UkgZRR2Rv1Vx+/zdLxBTqlWEIHa9BaVeFKgOMKS+uPmEnJPd5N5XMFjiNSAZG0WIeM6cfSM= X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM0PR08MB5316.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(396003)(136003)(376002)(366004)(346002)(39860400002)(230922051799003)(451199024)(186009)(64100799003)(1800799009)(55016003)(966005)(478600001)(26005)(76116006)(38070700009)(33656002)(122000001)(86362001)(83380400001)(38100700002)(7696005)(6506007)(9686003)(316002)(66476007)(66556008)(64756008)(66946007)(71200400001)(110136005)(66446008)(2906002)(5660300002)(41300700001)(8676002)(8936002)(52536014);DIR:OUT;SFP:1101; Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR08MB6388 Original-Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: AMS0EPF000001B0.eurprd05.prod.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: ea17733e-5844-4eea-2767-08dbe103a1c9 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: itlLjo0ddBn3BsHzVMuBRCDhchw0DnZW6vZRGMzf4yA5WxAVP5GCPTQxagotdJj9RFQ9fQM0T35ijmAQD1l5ZxMgUHDEH9LANWFjUWJLiZgBxoNqdNeX8iJEsK1OeWBohqN3RA9ow2jBp/x0NQ2G4uNwqe/oaxuvVwLhLHbV/hfQrk321pepG96HIDXqMQg6cvI4IUvfkWG8tln94XC7b72EwR7oquMaMw12V/hMtgfGH9RmmjqalUGxhf+yjObwP5rYHVsiNF8gffuwmfgtCsdJnzChbjGsWr5Sj1H8KuFly51kSZJh3nSWii2X4i2gH/OWx7CaLQlTs9LRuwwWf7DsGWz5KGkSuiwJzrbO+iW/jyLc27MqnJ9UvBEbQh1Y++16bxOoCdKPwOhzTpAfr7x6dP0sRYo+0kglO2hh6g+Ql38BmdvJAb3EHQa4891sa7eAPwxiKu80mnwwomLlceDj2mj+P5Jx6k5/w+2ghrZ9rhqI4VpWMM2AFfY3RG8f1U7vWFwa2wZ6UgCa4ionvDZdgUtKXHre2KAEm7pswi6fFDhdtrV0W+7Nq2U2bkUrsq90mbn2MwP2Ha2PkuXjJuCeQGB99J3m82EwmSzLnZ0TLIhnKXvQ9ZpM9KMTWVh/T1ismu4fSHFPcBX0aUa5gLUBjxDNTJEecsbyz2ETrs9kNRzJowydT5sX9JfLUcYuU/8b6+dTpeMqFBpcvacHzg== X-Forefront-Antispam-Report: CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230031)(4636009)(376002)(136003)(39850400004)(396003)(346002)(230922051799003)(82310400011)(186009)(1800799009)(64100799003)(451199024)(36840700001)(46966006)(36860700001)(9686003)(336012)(6506007)(7696005)(41300700001)(26005)(47076005)(8676002)(8936002)(70586007)(966005)(52536014)(5660300002)(70206006)(83380400001)(110136005)(316002)(478600001)(81166007)(82740400003)(356005)(86362001)(33656002)(2906002)(55016003)(40480700001);DIR:OUT;SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Nov 2023 09:10:01.6735 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: ed85138f-8e08-441f-4ac3-08dbe103a7ad X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com] X-MS-Exchange-CrossTenant-AuthSource: AMS0EPF000001B0.eurprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR08MB10199 X-Spam-Status: No, score=-6.1 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,FORGED_SPF_HELO,KAM_DMARC_NONE,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_PASS,SPF_NONE,TXREP,T_SCC_BODY_TEXT_LINE,UNPARSEABLE_RELAY autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: > guard_bb =3D LOOP_VINFO_IV_EXIT (loop_vinfo)->dest; > edge epilog_e =3D LOOP_VINFO_EPILOGUE_IV_EXIT (loop_vinfo); > - guard_to =3D split_edge (epilog_e); > + guard_to =3D epilog_e->dest; > guard_e =3D slpeel_add_loop_guard (guard_bb, guard_cond, guard_to, > skip_vector ? anchor : guard_bb, > prob_epilog.invert (), > @@ -3443,8 +3229,30 @@ vect_do_peeling (loop_vec_info loop_vinfo, tree > niters, tree nitersm1, > if (vect_epilogues) > epilogue_vinfo->skip_this_loop_edge =3D guard_e; > edge main_iv =3D LOOP_VINFO_IV_EXIT (loop_vinfo); > - slpeel_update_phi_nodes_for_guard2 (loop, epilog, main_iv, > guard_e, > - epilog_e); > + gphi_iterator gsi2 =3D gsi_start_phis (main_iv->dest); > + for (gphi_iterator gsi =3D gsi_start_phis (guard_to); > + !gsi_end_p (gsi); gsi_next (&gsi)) > + { > + /* We are expecting all of the PHIs we have on epilog_e > + to be also on the main loop exit. But sometimes > + a stray virtual definition can appear at epilog_e > + which we can then take as the same on all exits, > + we've removed the LC SSA PHI on the main exit before > + so we wouldn't need to create a loop PHI for it. */ > + if (virtual_operand_p (gimple_phi_result (*gsi)) > + && (gsi_end_p (gsi2) > + || !virtual_operand_p (gimple_phi_result (*gsi2)))) > + add_phi_arg (*gsi, > + gimple_phi_arg_def_from_edge (*gsi, epilog_e), > + guard_e, UNKNOWN_LOCATION); > + else > + { > + add_phi_arg (*gsi, gimple_phi_result (*gsi2), guard_e, > + UNKNOWN_LOCATION); > + gsi_next (&gsi2); > + } > + } > + I've been having some trouble incorporating this change into the early brea= k work. My understanding is that here you've removed the lookup that find_guard did and are assuming that the order between the PHI nodes between loop->exit and epilog->exit are the same - sporadic virtual operands. But the loop->exit for early break has to materialize all PHI nodes from th= e main loop into the epilog loop since we need them to restart the scalar loop ite= ration. This means that the number of PHI nodes between the first loop and the seco= nd Loop are not the same, so we end up mis-linking phi nodes. i.e. consider t= his loop https://gist.github.com/Mistuke/65d476b18f991772fdec159a09b81869 which now goes wrong (throw that in a dotgraph viewer). I'm struggling to figure out how to handle this without doing a lookup. Any advice? Thanks, Tamar > /* Only need to handle basic block before epilog loop if it's not > the guard_bb, which is the case when skip_vector is true. */ > if (guard_bb !=3D bb_before_epilog) > -- > 2.35.3