From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR04-VI1-obe.outbound.protection.outlook.com (mail-vi1eur04on2087.outbound.protection.outlook.com [40.107.8.87]) by sourceware.org (Postfix) with ESMTPS id 77B733858D38 for ; Wed, 6 Dec 2023 08:52:55 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 77B733858D38 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 77B733858D38 Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=40.107.8.87 ARC-Seal: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1701852777; cv=pass; b=EaQcbJm4EvLp64+K5JqL8+h1y7m66B/kvyywAjieYkFjsrh6nXA1nC/smNyAYN8bKQnL7iu8GXHJmLHls5GovETvCHxtM76PvSzdCHriuB0QF5vM6baWxceBHX7JCVVvn0hA4JGXzWlT5hyEXiGxd+JDM8nW33Jsm5EiAR4NVU8= ARC-Message-Signature: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1701852777; c=relaxed/simple; bh=nkFpoj18jMl1bpUoyQMgAGslWCTE1QXnrqYj9doJ2wU=; h=DKIM-Signature:DKIM-Signature:From:To:Subject:Date:Message-ID: MIME-Version; b=c5DXEk3ok0207fj7wvmZZpBoXLxPhZKzetTuNhjSJnOzluewj40WSCFx2FhERqbva6MW/enRBbBh4MsHSThY1BYNgUXcIrdpqqEqyIfg8IpaUWwM0Xb9QiJEeQ4yOH0pu4jNZfkR9CPISbh0NOq5PGVABlME/VChgXGx73p1hQs= ARC-Authentication-Results: i=3; server2.sourceware.org ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass; b=OH5S1YPMtJ8SJpfg25jST0JBKQN8siHzyPvUOrHxGzwe4eXeVCwSlXUx8tYHE4mtUii+xqYgANMDYwqCfeKuART3V4bliWx5KvJBuXT5A8Tk1A3s6fIVd1gulaptEh/hvDKklo/ER0amofDhq7/Oe9bgNUa1bLP35EOPrFu9DKJ7IFLVuJD7Sap7HynOn5UvArpBWCtymhwrM5P+EG25L42GVdvF/D9vw/RFxR1iJ/0LaCkh37zxBOv3FMg9BjEkWg/NJ3PgG9zSIUkUp8EPcxXj+5HxRAqUkijGT6j1gqtR+yl+nwr+Uq77SyQAYABHpX9I2S4z2dee2E6rAm7mPA== 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=Q7LqYBiUVRQXhN3shrEZs2Dr3OIJVOhifP3S7dN8kts=; b=NYBY1yNx7K9HflT8bvtfLF//knL62qukyg83icP74q3OYidG3yshu6HX0TBplVoUJcoVSAskWH17mSruT6mRF9yVofQpJhk1cyXrJwEog/YEvjSgLpZM6b9xoG2pRIBl38Vt4r62hP42XsS0iPEbMCcfVHlqkk4uCjLBqR9PLFHycuAdzg9vVoC/rJx0ntAmcNMIDqyxQgsAlHLdTLJ1X2nFm3JSesSgYHE7E31i7pYFGYn1nZY6aGkEF5xImhNj2zNp1MP15bbuoeHaMbIA8Z/cBbtSypZ0HA6YLiZoDezOBGbmsb2YhueJv/jFAcdwll0KnY/rEWErKfAXc6kZng== 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=Q7LqYBiUVRQXhN3shrEZs2Dr3OIJVOhifP3S7dN8kts=; b=zjbyu1fuCuMIG4M+3pXLgXiil1s4WI7Wcn8G4fjqox1g9smBQtphreIogHj/Cj+i92H9CnwS8LrcFZYPtgMJbVK6sDjb2RBIAANauUizRhlSPXUJgnh3nC1lQAwmSHWWclpl4fzgZ/hopAvJWGVuqQmG0DESQdL59Qp+Ckon8kc= Received: from AM5PR1001CA0016.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:206:2::29) by PA4PR08MB6254.eurprd08.prod.outlook.com (2603:10a6:102:f3::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7068.25; Wed, 6 Dec 2023 08:52:52 +0000 Received: from AM3PEPF00009BA2.eurprd04.prod.outlook.com (2603:10a6:206:2:cafe::8c) by AM5PR1001CA0016.outlook.office365.com (2603:10a6:206:2::29) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.34 via Frontend Transport; Wed, 6 Dec 2023 08:52:52 +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 AM3PEPF00009BA2.mail.protection.outlook.com (10.167.16.27) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7068.24 via Frontend Transport; Wed, 6 Dec 2023 08:52:52 +0000 Received: ("Tessian outbound e243565b0037:v228"); Wed, 06 Dec 2023 08:52:52 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: 3cf2dbe3c0421f9d X-CR-MTA-TID: 64aa7808 Received: from e6d5678197da.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 26C677A1-6456-433F-A7C2-6B48900BFC1F.1; Wed, 06 Dec 2023 08:52:45 +0000 Received: from EUR05-AM6-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id e6d5678197da.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Wed, 06 Dec 2023 08:52:45 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=b/+3oIFcfRwoxBVKGraaJcMmfOjH3DgBDLsAgKOujhmKJ9el+bs+y+DngGtNKsW4eGfggihAP2GzZB8dbeNI07Xd6Lt86aLDjmD71lYJBi56ZTBQ0ju7IP6BaL37LrMRz4RouBCA6wld5xPstXUtHuUbsTTqhRfHrb1KsWREH15q/qbwU0YHrAvB9GWMQ/cG281VIBJvhWh4BHexB5Z4txUqd/+ot8BzmYKm+yz0ATV0hQhA9UM9iXgsngOp/Krw6KzQDZrM0VvOW2cPFsfPaoW0LKBSrpHwVwEM1bEUXyXO66ycwJO3ljyZjsuXx6Jb9McmHaz8PvBho+WYUZ5bAw== 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=Q7LqYBiUVRQXhN3shrEZs2Dr3OIJVOhifP3S7dN8kts=; b=ebeiqLvDcNcIz5gVQ5JqLMYug5vEWs2CPLlMKgbZp+qt55Eh+jyzZHjnaOXj8kltarpSh+XpjXg2V3mfRgJgVKqu7BV7QmI2Z9jp14n0wSeVWdsYlF0eAOa9sPVLUkTvL9rLJdmv4fbxYN/W9LEIO5aajWepaxxZWWSLfL13FWVgKYfTq7Ou/9KB4By2ZVLjbEn8+gX/mI+ZH2/jIpTTt0Vzdp+g56+LsZ6ulXSJ39rjDlKC9E4UofMypAPvy96LCO+uzZgMmKHe8xQlAuvxA+U98seGb/oo7bVVstYmLGHCVgp+dVZymt44IB5fOboUCa52xv4wIO37yOrLnr9McQ== 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=Q7LqYBiUVRQXhN3shrEZs2Dr3OIJVOhifP3S7dN8kts=; b=zjbyu1fuCuMIG4M+3pXLgXiil1s4WI7Wcn8G4fjqox1g9smBQtphreIogHj/Cj+i92H9CnwS8LrcFZYPtgMJbVK6sDjb2RBIAANauUizRhlSPXUJgnh3nC1lQAwmSHWWclpl4fzgZ/hopAvJWGVuqQmG0DESQdL59Qp+Ckon8kc= Received: from VI1PR08MB5325.eurprd08.prod.outlook.com (2603:10a6:803:13e::17) by PAVPR08MB9209.eurprd08.prod.outlook.com (2603:10a6:102:30a::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.34; Wed, 6 Dec 2023 08:52:43 +0000 Received: from VI1PR08MB5325.eurprd08.prod.outlook.com ([fe80::9679:2ab0:99c6:54a3]) by VI1PR08MB5325.eurprd08.prod.outlook.com ([fe80::9679:2ab0:99c6:54a3%6]) with mapi id 15.20.7046.034; Wed, 6 Dec 2023 08:52:43 +0000 From: Tamar Christina To: Richard Biener CC: "gcc-patches@gcc.gnu.org" , nd , "jlaw@ventanamicro.com" Subject: RE: [PATCH 13/21]middle-end: Update loop form analysis to support early break Thread-Topic: [PATCH 13/21]middle-end: Update loop form analysis to support early break Thread-Index: AQHaEISRXbPfYlkEIEGTya0GY0wHU7CcGIWAgAAIg0A= Date: Wed, 6 Dec 2023 08:52:43 +0000 Message-ID: References: In-Reply-To: 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: VI1PR08MB5325:EE_|PAVPR08MB9209:EE_|AM3PEPF00009BA2:EE_|PA4PR08MB6254:EE_ X-MS-Office365-Filtering-Correlation-Id: 95ec1b7c-eb8b-4318-fe09-08dbf638bb70 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: oDeIODURStZp4HOUEjgPjWpdpk72q2PjrjlrjwcmpuplQHqvDMf+DAUCemQZlE09QNplRJoBDkFhhJrlWzVcsn7O40yNQABfd0CVl4Q8/JH79OdX6waR+b7Nr7t/yKMr2WHwmuTl+teTqDwkSDEDu9zIgThoY/GqivZYFu9FRt3DuNCmk5HhnHpbqh/+k0Cm0zkopLvaP7VwdCgo93tij1dNintQxuFOEMtkbIlsE/iQHjUkZd+tyK7Jmzttbv6byMlUyRj+Cpv+0mxb2WX4vjpua9IKOd5IonpbCHJvRZTfgLL73hL691RQ/INM61K/wgxEmHjtImaE/EPPSXv7tb9PYD/GAb7f68Z+tKJZjWDHZTg4kQRQtA+tKeWwZGy9/HHOleyQAa4ad+9hkKZAAXNZPlt+8l+dfbZ2geNJqxQ4Jcd9H3u6slYirS+KqawZq+Myfo5DAHRV23IeF9zZvgRj8XpvBisuof0oWTlnhqgopB5OARRjONiQ1OTzfgy30pROGjY9sXkvLc/n1UcLi+84E3q8o+6+NBVaalfvZV9RjxD7UMhcjBt6r9SCI15euYbJKJyLE0vKaEv3hp9ge6dzct2aASxifjFpFZ1ZktPXtpYFTUt3fCVmeEtQSr7Y X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR08MB5325.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(39860400002)(396003)(346002)(366004)(136003)(376002)(230922051799003)(186009)(1800799012)(64100799003)(451199024)(38070700009)(122000001)(52536014)(55016003)(2906002)(83380400001)(38100700002)(15650500001)(41300700001)(26005)(33656002)(5660300002)(53546011)(71200400001)(7696005)(9686003)(6506007)(86362001)(478600001)(8936002)(4326008)(66476007)(66946007)(6916009)(66556008)(316002)(64756008)(66446008)(54906003)(76116006)(8676002);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: PAVPR08MB9209 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: AM3PEPF00009BA2.eurprd04.prod.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: 5ebac3a8-16e5-4464-749d-08dbf638b605 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: qhlzDvNhq1k16I2t2mgjLkF1qX8kY6mT90adTIIaTsNJsUXEeP1x4xSmdzs01GHuGPIrBXuGQbVSCuMrnbTjs4wwU3mi+5arY1Ya4Gw8fVa4ZH7l6GB+ejqK4Tx1LBGQDJ7mCQByB7HUh1wcOhxibf4QXp4Zw/p43fY7LgNry7JE76lJ27LVG7gaBVuNJ+t+fJe3C0H5vcwE+u7hBoZ6Dvdz6T9CzHZdDKtXcuZprsFJBZyq5rKi2IpiGxI1/Wm78Ei0TC6kq0MyvV5FF1OtWI4Q5m8phgFQ4vxTw//v089ifSndxmgDoB2VlHZA084VcTommq1esBQxCpakGGe2K6xeqSMc3Z3oSKID4U0Cs/mzdNqGZBqBIQctguLQ3+iDlqjhRR9fqZpiYqdWH1xvxk6yn2EwMDzTs6x3SSxYC/YzHIcTvIyHSmf6fbZvdiH5mqXrShLN86dzm/llObTjCjNvHPyrTUDRYCt7zP/niawL5dqGUCn0fqAXXa08HGnnEQOcleqOAy5x0iSvUsnYlEl2LQUMJJ76C9vJpSDMsVasbHDNd2qbQPfyXF7zRUzX8EVJbBcUZqPbDkE+tHcW+rFHzUd05kceY+g27jwyf9RRzVi9qSicVmEYHmDtMiA7GUCf2bKn2QrWf/yMYn0ho/nVQFZRCr98AEmZlsPIpHhApSwR8l4WpmfgoZw52Eji1QSE9m0fPMiXcNwljHDPegAOYHFShRnnWYE8K5mNKMeDCXDz+7MGCnoFuTztTY9d 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)(346002)(136003)(396003)(39860400002)(376002)(230922051799003)(64100799003)(1800799012)(186009)(82310400011)(451199024)(40470700004)(46966006)(36840700001)(40480700001)(2906002)(15650500001)(26005)(336012)(356005)(83380400001)(55016003)(86362001)(47076005)(82740400003)(33656002)(81166007)(36860700001)(40460700003)(7696005)(5660300002)(6506007)(53546011)(107886003)(8936002)(8676002)(52536014)(6862004)(4326008)(9686003)(41300700001)(70206006)(316002)(70586007)(54906003)(478600001);DIR:OUT;SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Dec 2023 08:52:52.5778 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 95ec1b7c-eb8b-4318-fe09-08dbf638bb70 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: AM3PEPF00009BA2.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR08MB6254 X-Spam-Status: No, score=-12.1 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,FORGED_SPF_HELO,GIT_PATCH_0,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=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: > -----Original Message----- > From: Richard Biener > Sent: Wednesday, December 6, 2023 8:18 AM > To: Tamar Christina > Cc: gcc-patches@gcc.gnu.org; nd ; jlaw@ventanamicro.com > Subject: Re: [PATCH 13/21]middle-end: Update loop form analysis to suppor= t early > break >=20 > On Mon, 6 Nov 2023, Tamar Christina wrote: >=20 > > Hi All, > > > > This sets LOOP_VINFO_EARLY_BREAKS and does some misc changes so the oth= er > > patches are self contained. > > > > Bootstrapped Regtested on aarch64-none-linux-gnu and no issues. > > > > Ok for master? > > > > Thanks, > > Tamar > > > > gcc/ChangeLog: > > > > * tree-vect-loop.cc (vect_analyze_loop_form): Analyse all exits. > > (vect_create_loop_vinfo): Set LOOP_VINFO_EARLY_BREAKS. > > (vect_transform_loop): Use it. > > > > --- inline copy of patch -- > > diff --git a/gcc/tree-vect-loop.cc b/gcc/tree-vect-loop.cc > > index > 51a054c5b035ac80dfbbf3b5ba2f6da82fda91f6..f9483eff6e9606e835906fb991 > f07cd6052491d0 100644 > > --- a/gcc/tree-vect-loop.cc > > +++ b/gcc/tree-vect-loop.cc > > @@ -1700,12 +1700,12 @@ vect_compute_single_scalar_iteration_cost > (loop_vec_info loop_vinfo) > > loop_vinfo->scalar_costs->finish_cost (nullptr); > > } > > > > - > > /* Function vect_analyze_loop_form. > > > > Verify that certain CFG restrictions hold, including: > > - the loop has a pre-header > > - - the loop has a single entry and exit > > + - the loop has a single entry > > + - nested loops can have only a single exit. > > - the loop exit condition is simple enough > > - the number of iterations can be analyzed, i.e, a countable loop. = The > > niter could be analyzed under some assumptions. */ > > @@ -1841,10 +1841,14 @@ vect_analyze_loop_form (class loop *loop, > vect_loop_form_info *info) > > "not vectorized: latch block not empty.\n"); > > > > /* Make sure the exit is not abnormal. */ > > - if (exit_e->flags & EDGE_ABNORMAL) > > - return opt_result::failure_at (vect_location, > > - "not vectorized:" > > - " abnormal loop exit edge.\n"); > > + auto_vec exits =3D get_loop_exit_edges (loop); > > + for (edge e : exits) >=20 > Seeing this multiple times, this isn't the most efficient way to > iterate over all exits with LOOPS_HAVE_RECORDED_EXITS. >=20 > Note to myself: fix (add to) the API. >=20 > > + { > > + if (e->flags & EDGE_ABNORMAL) > > + return opt_result::failure_at (vect_location, > > + "not vectorized:" > > + " abnormal loop exit edge.\n"); > > + } > > > > info->conds > > =3D vect_get_loop_niters (loop, exit_e, &info->assumptions, > > @@ -1920,6 +1924,10 @@ vect_create_loop_vinfo (class loop *loop, > vec_info_shared *shared, > > > > LOOP_VINFO_IV_EXIT (loop_vinfo) =3D info->loop_exit; > > > > + /* Check to see if we're vectorizing multiple exits. */ > > + LOOP_VINFO_EARLY_BREAKS (loop_vinfo) > > + =3D !LOOP_VINFO_LOOP_CONDS (loop_vinfo).is_empty (); > > + >=20 > Seeing this, s/LOOP_VINFO_LOOP_CONDS/LOOP_VINFO_LOOP_EXIT_CONDS/g > might be good, if we in future avoid if-conversion in a separate > pass we will have other CONDs as well. >=20 > > if (info->inner_loop_cond) > > { > > stmt_vec_info inner_loop_cond_info > > @@ -11577,7 +11585,7 @@ vect_transform_loop (loop_vec_info loop_vinfo, > gimple *loop_vectorized_call) > > /* Make sure there exists a single-predecessor exit bb. Do this bef= ore > > versioning. */ > > edge e =3D LOOP_VINFO_IV_EXIT (loop_vinfo); > > - if (! single_pred_p (e->dest)) > > + if (! single_pred_p (e->dest) && !LOOP_VINFO_EARLY_BREAKS (loop_vinf= o)) > > { > > split_loop_exit_edge (e, true); >=20 > Note this splitting is done to fulfil versioning constraints on CFG > update. Do you have test coverage with alias versioning and early > breaks? No, only non-alias versioning. I don't believe we can alias in the current implementation because it's restricted to statically known objects with a fixed size. Thanks, Tamar >=20 > Otherwise OK. >=20 > Thanks, > Richard.