From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-he1eur04on2052.outbound.protection.outlook.com [40.107.7.52]) by sourceware.org (Postfix) with ESMTPS id B6CA3385DC33 for ; Wed, 14 Feb 2024 15:15:21 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org B6CA3385DC33 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 B6CA3385DC33 Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=40.107.7.52 ARC-Seal: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1707923724; cv=pass; b=OkdhPzFmczTBJSFAp+v4mRbR+u0jGC+WKxwQUzocPaS3USThLTXoGnYRq6GnmIl2a4dn4/IhIU+8B5QHDL2geMMP4ATjpyO72Vh5WKswYnIrX2I4tehXXTAfrm4WdEU0YaLCBpP5jJVDeeH2qjRGxv2/c643sBw7y/peXfHk6bw= ARC-Message-Signature: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1707923724; c=relaxed/simple; bh=cEpASEfU4WJK4ozWPvUmFimq1CmG0U4YZqwefNg033Y=; h=DKIM-Signature:DKIM-Signature:From:To:Subject:Date:Message-ID: MIME-Version; b=UVNXwbdFR64j3nPhELjLur+6VlrkOGnnKteKDnWASWzNottbeD458GppsdH0ohBtKX7uu2NvFOK5yVSD5VnQ3RQz5cpNlKrFh3/A84JPITR0/9R8K06iK26ZD3tm6y5HrTrt6WdCG+D0q3IR6IA1hxRQOvCQfEpUYnapi17/2xc= ARC-Authentication-Results: i=3; server2.sourceware.org ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass; b=EBcK4+lMzP3pCN3C3ESCxmiWT4X75Z9ZCHlHjAYyeiYLLgtp04z0d7XBSQBYM26DIk2hMwyZaM4PYzcFZ45D/oirVtTtjZLNOpJiKpCiQWKLqLa/hQWhLfyzdG2U04avqAi2+WJb6ya3THmjFAksg2pDAxGAebnAPDyXLsnU6bGsg/PoODqmkgE4Z9Wx9ECtArlC8Y+F6PWif1uSzbLhVEENBPKNmjSxyRmlrYb+PVqxtsCyJMyW+IDKErpn1KNNXy3FdvvfHrPAuCprS0R5AJcb7/oThLhVg0YEMzZqw5KDu1G3cVRJsMVFwPYMlNI2yRVt4jxCVqZ+3kuWsonPbg== 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=YP1jb4VmKRbMzyx6xxaT94Z3AX65fU2RnUxJkKY//+w=; b=k7ybkrY7hE6ZEjdQIBwEG/aIv8XfcE7dvaPAGvyruQeNQTRS2zbhilzJNPTdMDV+YVhMRUwMu38/gX984OhvPosxm6DkKx8muFO3+72D2us4e8x1d2EmxiuMOWOfNBn7Ho92XZcH/iE5jxfAVqwWxmZO586pVvVfq02d/144iAO9zS18HwmNFEialGU+crZvjODbZiBdmoPOgMHAoLccSM4kjM9ICbwHsaTfj/dgYspld9oEaXwzIbCWmE0mqZGI9SQGIRfYtUszP/5Ep7xLn+Aa7YIH5Z6JX/2JQyi0igY/EmaVgpvzKkw1t7RMJrRuixW09VH+i1Ait5KMt8QrFQ== 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=YP1jb4VmKRbMzyx6xxaT94Z3AX65fU2RnUxJkKY//+w=; b=c5sj4P/WE445DDOAVYx6aGG2519qA1R6cv1tNpYCbX1rsMHKBuGwLk824z05CwBSGJebl9qJHgjOI/rp5MbP9se9jZld3cb85s5y8w57VP3hFAgBhoPserrMmUpC+sHGDTz0yvKBh8Jiu6EiOiE20j+M1fnQPPOa/WfAphfgwXg= Received: from DUZPR01CA0058.eurprd01.prod.exchangelabs.com (2603:10a6:10:469::12) by DB9PR08MB9468.eurprd08.prod.outlook.com (2603:10a6:10:45a::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7270.39; Wed, 14 Feb 2024 15:15:19 +0000 Received: from DB1PEPF000509E2.eurprd03.prod.outlook.com (2603:10a6:10:469:cafe::87) by DUZPR01CA0058.outlook.office365.com (2603:10a6:10:469::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7292.26 via Frontend Transport; Wed, 14 Feb 2024 15:15:19 +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 DB1PEPF000509E2.mail.protection.outlook.com (10.167.242.52) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7249.19 via Frontend Transport; Wed, 14 Feb 2024 15:15:19 +0000 Received: ("Tessian outbound c926391f1b75:v228"); Wed, 14 Feb 2024 15:15:19 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: 09e146446abd8266 X-CR-MTA-TID: 64aa7808 Received: from cba48c91c51f.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id E6A35EBD-5C6E-4AD5-BF6B-8420704FD343.1; Wed, 14 Feb 2024 15:15:12 +0000 Received: from EUR04-VI1-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id cba48c91c51f.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Wed, 14 Feb 2024 15:15:12 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=jETzXo11pxXqVYzho12Tp/J+KsN+/ry8QhZL0jd65qdrrSyX5tZEfCg8JZcnZdeA9xaaEYDz7f6UK27FVr7ZTQkIAFiV3RihFIb/M7TktIeVfVf1pa5xOFbUwZSUPpOOeSBpUM+G9ywdAMSolZgPFT99UitUADP6GIERQWQ9l7lo3mlSQmksAaIFwXIzt4pzt1P/du+wBQ9hyh1B40YI/RA6SJ/0ZAjtq7sgfbbgzE/eyKZ0WYr3cybL3rNObsTc+g9YbQ2wm547H+bqzO0Dci3EXPn77iSkWgN1EDV2f/fmOqU6NtlDEO6pKzJhYASv5ZMJL2jJhxlVqJzIkMy+9Q== 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=YP1jb4VmKRbMzyx6xxaT94Z3AX65fU2RnUxJkKY//+w=; b=m+ojsajkbaeGHzwTiGFYuESqrZtPpP6VDmAMy5Ib7+04PZO8I1/RZ8E8FE0DRGvMBt+E76OqMFnHf3f6dkkoDPOtsJXaWBPh4nq1h16qHMv9yClMvUINAdlAOUq4JoO6LMfwdV+oZD0eaW1mL+L07mV3zKNHCU8y5wU9NGGvyIC8soqT7M8kLuM6lRpdmZ/Wm/lI8yiKxhk0ZzbOHfsDoPbudIUPEBdBkh4N/EBcjyxjEBGhBO45kSSO88PNDo2R8BFBDlzfp7QFdR0yRYz0Vj4AIYEM0JGDKfezPoaZ+gop0O+g+0XoDC8NJL+kR/VJFkjMJGvnWuWnSaBli7t9sg== 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=YP1jb4VmKRbMzyx6xxaT94Z3AX65fU2RnUxJkKY//+w=; b=c5sj4P/WE445DDOAVYx6aGG2519qA1R6cv1tNpYCbX1rsMHKBuGwLk824z05CwBSGJebl9qJHgjOI/rp5MbP9se9jZld3cb85s5y8w57VP3hFAgBhoPserrMmUpC+sHGDTz0yvKBh8Jiu6EiOiE20j+M1fnQPPOa/WfAphfgwXg= Received: from VI1PR08MB5325.eurprd08.prod.outlook.com (2603:10a6:803:13e::17) by GV1PR08MB8403.eurprd08.prod.outlook.com (2603:10a6:150:8a::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7292.26; Wed, 14 Feb 2024 15:15:09 +0000 Received: from VI1PR08MB5325.eurprd08.prod.outlook.com ([fe80::810c:8495:3f0a:ef8]) by VI1PR08MB5325.eurprd08.prod.outlook.com ([fe80::810c:8495:3f0a:ef8%7]) with mapi id 15.20.7292.026; Wed, 14 Feb 2024 15:15:09 +0000 From: Tamar Christina To: Richard Biener CC: "gcc-patches@gcc.gnu.org" , nd , "jlaw@ventanamicro.com" Subject: RE: [PATCH]middle-end: inspect all exits for additional annotations for loop. Thread-Topic: [PATCH]middle-end: inspect all exits for additional annotations for loop. Thread-Index: AQHaX0cM2WMxq1tVn0WhOWmf6GzsUbEJ2HaAgAAZwOA= Date: Wed, 14 Feb 2024 15:15:09 +0000 Message-ID: References: In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: yes 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_|GV1PR08MB8403:EE_|DB1PEPF000509E2:EE_|DB9PR08MB9468:EE_ X-MS-Office365-Filtering-Correlation-Id: deb8d14d-15ba-4d12-b3e2-08dc2d6fc19a 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: H9+uM5OyG72MQR2fpsj2KdT5Jwbe0oR4BWSYRMNAaft4oS2ipa8KGpFJgWPnRjVdZTU6v/T90b6PPRx+EcyT8vSDkUyOTtFDVMSdLacJZ8aup1jV9yqYD9jclGSm9Hp0svty9MfvWrKTWcpOmOlg2/MiRwLJ4htmQzUHu31kLFc0ZVzkUHRiSM2RMj3R8vvsQ9oa/o/rfoohOunGpLc8QbHUfXKpFPH6sdjM0EvI0CSphEKqrAYEhfjwKn2bK4ie/KRwu/q+qyZf1By6OEDvvnIKY8RcputB1CSbYdXDIQ92CSrxWFosz6FCAKqcFP/Wvn8nEbvjfgOta4bnvWfGvU9aqlgxvzrEcZM6QBG2lAE+f2OhhPHuxVVZzgwuxRfN1llzyQJsX1PHMK+6fg6Q65Ld0Lq6OjL8f56mGWvaarCLJF4TmQS3sR8aCu2C7+uao2YzlANUDq37y2qF57aUdehLMoFX8ERlrA/Bu6LgSFNjJXnlsmyG4QBK3Rayb1KLFzBFCbIJPqXsa2GRra8f+H3rXxDFFEYaWYKgveX8NKGsBuIFMek9eJjpWptgwi24nnsnxKEZ4z4s1CktiMwDUYfl+yLTA9UPq7ITXMjwY9Q= 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)(396003)(376002)(366004)(136003)(346002)(39860400002)(230922051799003)(1800799012)(64100799003)(451199024)(186009)(33656002)(84970400001)(86362001)(83380400001)(99936003)(122000001)(38100700002)(55016003)(38070700009)(2906002)(5660300002)(66446008)(66946007)(76116006)(66556008)(66476007)(64756008)(52536014)(41300700001)(4326008)(6916009)(8936002)(8676002)(316002)(71200400001)(54906003)(7696005)(9686003)(6506007)(478600001)(26005);DIR:OUT;SFP:1101; Content-Type: multipart/mixed; boundary="_002_VI1PR08MB5325447129DE71793B84FA2BFF4E2VI1PR08MB5325eurp_" MIME-Version: 1.0 X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV1PR08MB8403 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: DB1PEPF000509E2.eurprd03.prod.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: 7f741cec-c418-43dd-072b-08dc2d6fbbf3 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 5xYTXx9EXGtVs14BsUhLwZ85sfE5nWGVvSqOtwvCj55S43Ka06X1YAA6+5k+zpPP1G9M4Ig6/hqFYOIKZA/ZjoqjCGkCpoWcJo/v3rjEfRHAwsAsi6FnJwZ8NyzX5fJKPeNKbod80PLqYUiSmY34Lg1OPZdWRhE4U4HdUhw442uBabLdyGnPaOZBLFBeFVvRbysGGgoi4X1Sb8tHWv+DJFpgl1EBLboysOAEiyLBcR35lCBt0GIOHuz2grjtQHtRO7r9x9NqsI0gpnqQPTtlmzV1ErPL4KeWrQQyFoQGW1qti8bbDZKbQCGnhPbL3ylmpz9AftuxkFOdCAerpGJGPCdvkcScsaNty24Ey2CSfbgtNAGSKMf2gyNBjCmVxf0ySKjtDoRaQcmEAZmn0nQYzGgkzDRIK10iL1PqYYfwsuGMnhnvwpNSH+aj4C68kzq4yQX+SEE30Zx/hCQBtcLoABwfJzv4NmmQppRQeBlp+2UhS8feixeLeR+sCIH2iWN2YRU0G75fuCsLWrh0XMfhrq/KQj7kCCzFT67cQqv4EnoksOErbPULhBEacn5FrTSmAjyj3tOWEqdjJS8lfZh+SA== 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)(396003)(136003)(376002)(39860400002)(346002)(230922051799003)(64100799003)(82310400011)(451199024)(1800799012)(186009)(36840700001)(46966006)(40470700004)(84970400001)(55016003)(2906002)(235185007)(41300700001)(107886003)(336012)(83380400001)(7696005)(5660300002)(8936002)(8676002)(6862004)(4326008)(26005)(70586007)(70206006)(52536014)(33656002)(9686003)(478600001)(81166007)(86362001)(54906003)(316002)(6506007)(356005)(82740400003)(99936003);DIR:OUT;SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Feb 2024 15:15:19.2528 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: deb8d14d-15ba-4d12-b3e2-08dc2d6fc19a 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: DB1PEPF000509E2.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR08MB9468 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: --_002_VI1PR08MB5325447129DE71793B84FA2BFF4E2VI1PR08MB5325eurp_ Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable >=20 > I think this isn't entirely good. For simple cases for > do {} while the condition ends up in the latch while for while () {} > loops it ends up in the header. In your case the latch isn't empty > so it doesn't end up with the conditional. >=20 > I think your patch is OK to the point of looking at all loop exit > sources but you should elide the special-casing of header and > latch since it's really only exit conditionals that matter. >=20 That makes sense, since in both cases the edges are in the respective blocks. Should have thought about it more. So how about this one. Bootstrapped Regtested on aarch64-none-linux-gnu and no issues. Ok for master? Thanks, Tamar gcc/ChangeLog: * tree-cfg.cc (replace_loop_annotate): Inspect loop edges for annotations. gcc/testsuite/ChangeLog: * gcc.dg/vect/vect-novect_gcond.c: New test. --- inline copy of patch --- diff --git a/gcc/testsuite/gcc.dg/vect/vect-novect_gcond.c b/gcc/testsuite/= gcc.dg/vect/vect-novect_gcond.c new file mode 100644 index 0000000000000000000000000000000000000000..01e69cbef9d51b234c08a400c78= dc078d53252f1 --- /dev/null +++ b/gcc/testsuite/gcc.dg/vect/vect-novect_gcond.c @@ -0,0 +1,39 @@ +/* { dg-add-options vect_early_break } */ +/* { dg-require-effective-target vect_early_break_hw } */ +/* { dg-require-effective-target vect_int } */ +/* { dg-additional-options "-O3" } */ + +/* { dg-final { scan-tree-dump-not "LOOP VECTORIZED" "vect" } } */ + +#include "tree-vect.h" + +#define N 306 +#define NEEDLE 136 + +int table[N]; + +__attribute__ ((noipa)) +int foo (int i, unsigned short parse_tables_n) +{ + parse_tables_n >>=3D 9; + parse_tables_n +=3D 11; +#pragma GCC novector + while (i < N && parse_tables_n--) + table[i++] =3D 0; + + return table[NEEDLE]; +} + +int main () +{ + check_vect (); + +#pragma GCC novector + for (int j =3D 0; j < N; j++) + table[j] =3D -1; + + if (foo (0, 0xFFFF) !=3D 0) + __builtin_abort (); + + return 0; +} diff --git a/gcc/tree-cfg.cc b/gcc/tree-cfg.cc index cdd439fe7506e7bc33654ffa027b493f23d278ac..bdffc3b4ed277724e81b7dd67fe= 7966e8ece0c13 100644 --- a/gcc/tree-cfg.cc +++ b/gcc/tree-cfg.cc @@ -320,12 +320,9 @@ replace_loop_annotate (void) =20 for (auto loop : loops_list (cfun, 0)) { - /* First look into the header. */ - replace_loop_annotate_in_block (loop->header, loop); - - /* Then look into the latch, if any. */ - if (loop->latch) - replace_loop_annotate_in_block (loop->latch, loop); + /* Check all exit source blocks for annotations. */ + for (auto e : get_loop_exit_edges (loop)) + replace_loop_annotate_in_block (e->src, loop); =20 /* Push the global flag_finite_loops state down to individual loops.= */ loop->finite_p =3D flag_finite_loops; --_002_VI1PR08MB5325447129DE71793B84FA2BFF4E2VI1PR08MB5325eurp_ Content-Type: application/octet-stream; name="rb18267.patch" Content-Description: rb18267.patch Content-Disposition: attachment; filename="rb18267.patch"; size=1863; creation-date="Wed, 14 Feb 2024 15:14:42 GMT"; modification-date="Wed, 14 Feb 2024 15:15:09 GMT" Content-Transfer-Encoding: base64 ZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLmRnL3ZlY3QvdmVjdC1ub3ZlY3RfZ2NvbmQu YyBiL2djYy90ZXN0c3VpdGUvZ2NjLmRnL3ZlY3QvdmVjdC1ub3ZlY3RfZ2NvbmQuYwpuZXcgZmls ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwLi4wMWU2OWNiZWY5ZDUxYjIzNGMwOGE0MDBjNzhkYzA3OGQ1MzI1MmYxCi0tLSAvZGV2L251 bGwKKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvdmVjdC92ZWN0LW5vdmVjdF9nY29uZC5jCkBA IC0wLDAgKzEsMzkgQEAKKy8qIHsgZGctYWRkLW9wdGlvbnMgdmVjdF9lYXJseV9icmVhayB9ICov CisvKiB7IGRnLXJlcXVpcmUtZWZmZWN0aXZlLXRhcmdldCB2ZWN0X2Vhcmx5X2JyZWFrX2h3IH0g Ki8KKy8qIHsgZGctcmVxdWlyZS1lZmZlY3RpdmUtdGFyZ2V0IHZlY3RfaW50IH0gKi8KKy8qIHsg ZGctYWRkaXRpb25hbC1vcHRpb25zICItTzMiIH0gKi8KKworLyogeyBkZy1maW5hbCB7IHNjYW4t dHJlZS1kdW1wLW5vdCAiTE9PUCBWRUNUT1JJWkVEIiAidmVjdCIgfSB9ICovCisKKyNpbmNsdWRl ICJ0cmVlLXZlY3QuaCIKKworI2RlZmluZSBOIDMwNgorI2RlZmluZSBORUVETEUgMTM2CisKK2lu dCB0YWJsZVtOXTsKKworX19hdHRyaWJ1dGVfXyAoKG5vaXBhKSkKK2ludCBmb28gKGludCBpLCB1 bnNpZ25lZCBzaG9ydCBwYXJzZV90YWJsZXNfbikKK3sKKyAgcGFyc2VfdGFibGVzX24gPj49IDk7 CisgIHBhcnNlX3RhYmxlc19uICs9IDExOworI3ByYWdtYSBHQ0Mgbm92ZWN0b3IKKyAgd2hpbGUg KGkgPCBOICYmIHBhcnNlX3RhYmxlc19uLS0pCisgICAgdGFibGVbaSsrXSA9IDA7CisKKyAgcmV0 dXJuIHRhYmxlW05FRURMRV07Cit9CisKK2ludCBtYWluICgpCit7CisgIGNoZWNrX3ZlY3QgKCk7 CisKKyNwcmFnbWEgR0NDIG5vdmVjdG9yCisgIGZvciAoaW50IGogPSAwOyBqIDwgTjsgaisrKQor ICAgIHRhYmxlW2pdID0gLTE7CisKKyAgaWYgKGZvbyAoMCwgMHhGRkZGKSAhPSAwKQorICAgIF9f YnVpbHRpbl9hYm9ydCAoKTsKKworICByZXR1cm4gMDsKK30KZGlmZiAtLWdpdCBhL2djYy90cmVl LWNmZy5jYyBiL2djYy90cmVlLWNmZy5jYwppbmRleCBjZGQ0MzlmZTc1MDZlN2JjMzM2NTRmZmEw MjdiNDkzZjIzZDI3OGFjLi5iZGZmYzNiNGVkMjc3NzI0ZTgxYjdkZDY3ZmU3OTY2ZThlY2UwYzEz IDEwMDY0NAotLS0gYS9nY2MvdHJlZS1jZmcuY2MKKysrIGIvZ2NjL3RyZWUtY2ZnLmNjCkBAIC0z MjAsMTIgKzMyMCw5IEBAIHJlcGxhY2VfbG9vcF9hbm5vdGF0ZSAodm9pZCkKIAogICBmb3IgKGF1 dG8gbG9vcCA6IGxvb3BzX2xpc3QgKGNmdW4sIDApKQogICAgIHsKLSAgICAgIC8qIEZpcnN0IGxv b2sgaW50byB0aGUgaGVhZGVyLiAgKi8KLSAgICAgIHJlcGxhY2VfbG9vcF9hbm5vdGF0ZV9pbl9i bG9jayAobG9vcC0+aGVhZGVyLCBsb29wKTsKLQotICAgICAgLyogVGhlbiBsb29rIGludG8gdGhl IGxhdGNoLCBpZiBhbnkuICAqLwotICAgICAgaWYgKGxvb3AtPmxhdGNoKQotCXJlcGxhY2VfbG9v cF9hbm5vdGF0ZV9pbl9ibG9jayAobG9vcC0+bGF0Y2gsIGxvb3ApOworICAgICAgLyogQ2hlY2sg YWxsIGV4aXQgc291cmNlIGJsb2NrcyBmb3IgYW5ub3RhdGlvbnMuICAqLworICAgICAgZm9yIChh dXRvIGUgOiBnZXRfbG9vcF9leGl0X2VkZ2VzIChsb29wKSkKKwlyZXBsYWNlX2xvb3BfYW5ub3Rh dGVfaW5fYmxvY2sgKGUtPnNyYywgbG9vcCk7CiAKICAgICAgIC8qIFB1c2ggdGhlIGdsb2JhbCBm bGFnX2Zpbml0ZV9sb29wcyBzdGF0ZSBkb3duIHRvIGluZGl2aWR1YWwgbG9vcHMuICAqLwogICAg ICAgbG9vcC0+ZmluaXRlX3AgPSBmbGFnX2Zpbml0ZV9sb29wczsK --_002_VI1PR08MB5325447129DE71793B84FA2BFF4E2VI1PR08MB5325eurp_--