From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 42866 invoked by alias); 12 Jun 2017 17:03:17 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Received: (qmail 42784 invoked by uid 89); 12 Jun 2017 17:03:17 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-26.9 required=5.0 tests=AWL,BAYES_00,GIT_PATCH_0,GIT_PATCH_1,GIT_PATCH_2,GIT_PATCH_3,RCVD_IN_DNSWL_NONE,SPF_HELO_PASS,SPF_PASS autolearn=ham version=3.3.2 spammy= X-HELO: EUR03-AM5-obe.outbound.protection.outlook.com Received: from mail-eopbgr30047.outbound.protection.outlook.com (HELO EUR03-AM5-obe.outbound.protection.outlook.com) (40.107.3.47) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Mon, 12 Jun 2017 17:03:14 +0000 Received: from VI1PR0802MB2176.eurprd08.prod.outlook.com (10.172.12.21) by VI1PR0802MB2175.eurprd08.prod.outlook.com (10.172.12.20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1157.12; Mon, 12 Jun 2017 17:03:13 +0000 Received: from VI1PR0802MB2176.eurprd08.prod.outlook.com ([fe80::2dae:8af1:7884:bb6d]) by VI1PR0802MB2176.eurprd08.prod.outlook.com ([fe80::2dae:8af1:7884:bb6d%18]) with mapi id 15.01.1157.017; Mon, 12 Jun 2017 17:03:13 +0000 From: Bin Cheng To: "gcc-patches@gcc.gnu.org" CC: nd Subject: [PATCH GCC][11/13]Annotate partition by its parallelism execution type Date: Mon, 12 Jun 2017 17:03:00 -0000 Message-ID: authentication-results: arm.com; dkim=none (message not signed) header.d=none;arm.com; dmarc=none action=none header.from=arm.com; x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1;VI1PR0802MB2175;7:VO8NyfXhgm50HUz0HQfzbEvVmyHSs+whadRumVZVENoKiw8tMTeH5xC0RucE8+TUac4gBNX/wfs+Edxue/gYuLsEIUsAX+QUgCD6w90ydVEkRUD1f7HLMxBkhoeqOlFnUOrvs0efm1pnThaeXkqb/O8j6VuozxOZ3fzR3zBk0hMWu6SI2li2XAfx9PgciedPPnCwp7hH2y3L54BftzOyW1hAVe+KnSj5zhd6tDqyy7UMVmIokZYSEpANFgKZocCaNmcUIBazNq1NaZcSe8ZuStF2siq9ez9QZjtU/Bzutm7sZCs5Auqp43G1Y4Y/2+GE4zWYfL7dFLSn0wBa78A3cQ== x-ms-traffictypediagnostic: VI1PR0802MB2175: x-ms-office365-filtering-correlation-id: 21c71c92-571e-4d88-cf75-08d4b1b4e98f x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001)(2017030254075)(48565401081)(201703131423075)(201703031133081);SRVR:VI1PR0802MB2175; nodisclaimer: True x-microsoft-antispam-prvs: x-exchange-antispam-report-test: UriScan:(180628864354917); x-exchange-antispam-report-cfa-test: BCL:0;PCL:0;RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(102415395)(6040450)(601004)(2401047)(8121501046)(5005006)(10201501046)(3002001)(100000703101)(100105400095)(93006095)(93001095)(6055026)(6041248)(20161123560025)(20161123564025)(20161123562025)(20161123555025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123558100)(6072148)(100000704101)(100105200095)(100000705101)(100105500095);SRVR:VI1PR0802MB2175;BCL:0;PCL:0;RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095);SRVR:VI1PR0802MB2175; x-forefront-prvs: 03361FCC43 x-forefront-antispam-report: SFV:NSPM;SFS:(10009020)(6009001)(39450400003)(39400400002)(39410400002)(39860400002)(39850400002)(39840400002)(377424004)(38730400002)(55016002)(50986999)(110136004)(99286003)(72206003)(14454004)(33656002)(53936002)(8936002)(478600001)(9686003)(5660300001)(86362001)(8676002)(3280700002)(2906002)(6506006)(99936001)(2351001)(189998001)(2501003)(7696004)(6436002)(25786009)(2900100001)(54356999)(74316002)(81166006)(3660700001)(4326008)(7736002)(5640700003)(5250100002)(305945005)(6916009)(66066001)(102836003)(3846002);DIR:OUT;SFP:1101;SCL:1;SRVR:VI1PR0802MB2175;H:VI1PR0802MB2176.eurprd08.prod.outlook.com;FPR:;SPF:None;MLV:sfv;LANG:en; spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM Content-Type: multipart/mixed; boundary="_002_VI1PR0802MB2176F778EE1712D855143522E7CD0VI1PR0802MB2176_" MIME-Version: 1.0 X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-originalarrivaltime: 12 Jun 2017 17:03:13.5156 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0802MB2175 X-IsSubscribed: yes X-SW-Source: 2017-06/txt/msg00825.txt.bz2 --_002_VI1PR0802MB2176F778EE1712D855143522E7CD0VI1PR0802MB2176_ Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Content-length: 782 Hi, This patch checks and records if partition can be executed in parallel by looking if there exists data dependence cycles. The information is needed for distribution because the idea is to distribute parallel type partitions away from sequential ones. I believe current distribution doesn't work very well because it does blind distribution/fusion. Bootstrap and test on x86_64 and AArch64. Is it OK? Thanks, bin 2017-06-07 Bin Cheng * tree-loop-distribution.c (alias.h): Include header file. (enum partition_type): New. (struct partition): New field type. (partition_merge_into): Update partition type. (data_dep_in_cycle_p): New function. (build_rdg_partition_for_vertex): Compute partition type. (rdg_build_partitions): Dump partition type.= --_002_VI1PR0802MB2176F778EE1712D855143522E7CD0VI1PR0802MB2176_ Content-Type: text/plain; name="0011-partition-type-20170607.txt" Content-Description: 0011-partition-type-20170607.txt Content-Disposition: attachment; filename="0011-partition-type-20170607.txt"; size=6093; creation-date="Mon, 12 Jun 2017 16:50:09 GMT"; modification-date="Mon, 12 Jun 2017 16:50:09 GMT" Content-Transfer-Encoding: base64 Content-length: 8260 RnJvbSA2M2EyMWYwN2FjOTdkMWU5MzA4NjExMGQyNTY0OTAwNDE3YTJhZjVh IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBCaW4gQ2hlbmcgPGJp bmNoZTAxQGUxMDg0NTEtbGluLmNhbWJyaWRnZS5hcm0uY29tPgpEYXRlOiBG cmksIDkgSnVuIDIwMTcgMTM6MTE6NTkgKzAxMDAKU3ViamVjdDogW1BBVENI IDExLzE0XSBwYXJ0aXRpb24tdHlwZS0yMDE3MDYwNy50eHQKCi0tLQogZ2Nj L3RyZWUtbG9vcC1kaXN0cmlidXRpb24uYyB8IDEwNyArKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tCiAxIGZpbGUgY2hhbmdl ZCwgMTAzIGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCgpkaWZmIC0t Z2l0IGEvZ2NjL3RyZWUtbG9vcC1kaXN0cmlidXRpb24uYyBiL2djYy90cmVl LWxvb3AtZGlzdHJpYnV0aW9uLmMKaW5kZXggZWFjZDlhMS4uN2UzMWZlZTgg MTAwNjQ0Ci0tLSBhL2djYy90cmVlLWxvb3AtZGlzdHJpYnV0aW9uLmMKKysr IGIvZ2NjL3RyZWUtbG9vcC1kaXN0cmlidXRpb24uYwpAQCAtNTEsNiArNTEs NyBAQCBhbG9uZyB3aXRoIEdDQzsgc2VlIHRoZSBmaWxlIENPUFlJTkczLiAg SWYgbm90IHNlZQogI2luY2x1ZGUgInRyZWUtcGFzcy5oIgogI2luY2x1ZGUg InNzYS5oIgogI2luY2x1ZGUgImdpbXBsZS1wcmV0dHktcHJpbnQuaCIKKyNp bmNsdWRlICJhbGlhcy5oIgogI2luY2x1ZGUgImZvbGQtY29uc3QuaCIKICNp bmNsdWRlICJjZmdhbmFsLmgiCiAjaW5jbHVkZSAiZ2ltcGxlLWl0ZXJhdG9y LmgiCkBAIC01MzUsMTEgKzUzNiwxOSBAQCBidWlsZF9yZGcgKHN0cnVjdCBs b29wICpsb29wLCBjb250cm9sX2RlcGVuZGVuY2VzICpjZCkKIH0KIAogCi0K Ky8qIEtpbmQgb2YgZGlzdHJpYnV0ZWQgbG9vcC4gICovCiBlbnVtIHBhcnRp dGlvbl9raW5kIHsKICAgICBQS0lORF9OT1JNQUwsIFBLSU5EX01FTVNFVCwg UEtJTkRfTUVNQ1BZLCBQS0lORF9NRU1NT1ZFCiB9OwogCisvKiBUeXBlIG9m IGRpc3RyaWJ1dGVkIGxvb3AuICAqLworZW51bSBwYXJ0aXRpb25fdHlwZSB7 CisgICAgLyogVGhlIGRpc3RyaWJ1dGVkIGxvb3AgY2FuIGJlIGV4ZWN1dGVk IHBhcmFsbGVsbHkuICAqLworICAgIFBUWVBFX1BBUkFMTEVMID0gMCwKKyAg ICAvKiBUaGUgZGlzdHJpYnV0ZWQgbG9vcCBoYXMgdG8gYmUgZXhlY3V0ZWQg c2VxdWVudGlhbGx5LiAgKi8KKyAgICBQVFlQRV9TRVFVRU5USUFMCit9Owor CiAvKiBQYXJ0aXRpb24gZm9yIGxvb3AgZGlzdHJpYnV0aW9uLiAgKi8KIHN0 cnVjdCBwYXJ0aXRpb24KIHsKQEAgLTU1Myw2ICs1NjIsNyBAQCBzdHJ1Y3Qg cGFydGl0aW9uCiAgICAgIG51bWJlciBvZiBsb29wIChsYXRjaCkgaXRlcmF0 aW9ucy4gICovCiAgIGJvb2wgcGx1c19vbmU7CiAgIGVudW0gcGFydGl0aW9u X2tpbmQga2luZDsKKyAgZW51bSBwYXJ0aXRpb25fdHlwZSB0eXBlOwogICAv KiBkYXRhLXJlZmVyZW5jZXMgYSBraW5kICE9IFBLSU5EX05PUk1BTCBwYXJ0 aXRpb24gaXMgYWJvdXQuICAqLwogICBkYXRhX3JlZmVyZW5jZV9wIG1haW5f ZHI7CiAgIGRhdGFfcmVmZXJlbmNlX3Agc2Vjb25kYXJ5X2RyOwpAQCAtNjMy LDYgKzY0Miw5IEBAIHN0YXRpYyB2b2lkCiBwYXJ0aXRpb25fbWVyZ2VfaW50 byAocGFydGl0aW9uICpkZXN0LCBwYXJ0aXRpb24gKnBhcnRpdGlvbiwgZW51 bSBmdXNlX3R5cGUgZnQpCiB7CiAgIGRlc3QtPmtpbmQgPSBQS0lORF9OT1JN QUw7CisgIGlmIChkZXN0LT50eXBlID09IFBUWVBFX1BBUkFMTEVMKQorICAg IGRlc3QtPnR5cGUgPSBwYXJ0aXRpb24tPnR5cGU7CisKICAgYml0bWFwX2lv cl9pbnRvIChkZXN0LT5zdG10cywgcGFydGl0aW9uLT5zdG10cyk7CiAgIGlm IChwYXJ0aXRpb25fcmVkdWN0aW9uX3AgKHBhcnRpdGlvbikpCiAgICAgZGVz dC0+cmVkdWN0aW9uX3AgPSB0cnVlOwpAQCAtMTE0MSw2ICsxMTU0LDQ3IEBA IGdldF9kYXRhX2RlcGVuZGVuY2UgKHN0cnVjdCBncmFwaCAqcmRnLCBkYXRh X3JlZmVyZW5jZV9wIGEsIGRhdGFfcmVmZXJlbmNlX3AgYikKICAgcmV0dXJu ICgqc2xvdCktPmRkcjsKIH0KIAorLyogSW4gcmVkdWNlZCBkZXBlbmRlbmNl IGdyYXBoIFJERyBmb3IgbG9vcCBkaXN0cmlidXRpb24sIHJldHVybiB0cnVl IGlmCisgICBkZXBlbmRlbmNlIGJldHdlZW4gcmVmZXJlbmNlcyBEUjEgYW5k IERSMiBsZWFkcyB0byBhIGRlcGVuZGVuY2UgY3ljbGUKKyAgIGFuZCBzdWNo IGRlcGVuZGVuY2UgY3ljbGUgY2FuJ3QgYmUgcmVzb2x2ZWQgYnkgcnVudGlt ZSBhbGlhcyBjaGVjay4gICovCisKK3N0YXRpYyBib29sCitkYXRhX2RlcF9p bl9jeWNsZV9wIChzdHJ1Y3QgZ3JhcGggKnJkZywKKwkJICAgICBkYXRhX3Jl ZmVyZW5jZV9wIGRyMSwgZGF0YV9yZWZlcmVuY2VfcCBkcjIpCit7CisgIHN0 cnVjdCBkYXRhX2RlcGVuZGVuY2VfcmVsYXRpb24gKmRkcjsKKworICAvKiBS ZS1zaHVmZmxlIGRhdGEtcmVmcyB0byBiZSBpbiB0b3BvbG9naWNhbCBvcmRl ci4gICovCisgIGlmIChyZGdfdmVydGV4X2Zvcl9zdG10IChyZGcsIERSX1NU TVQgKGRyMSkpCisgICAgICA+IHJkZ192ZXJ0ZXhfZm9yX3N0bXQgKHJkZywg RFJfU1RNVCAoZHIyKSkpCisgICAgc3RkOjpzd2FwIChkcjEsIGRyMik7CisK KyAgZGRyID0gZ2V0X2RhdGFfZGVwZW5kZW5jZSAocmRnLCBkcjEsIGRyMik7 CisKKyAgLyogSW4gY2FzZSBvZiBubyBkYXRhIGRlcGVuZGVuY2UuICAqLwor ICBpZiAoRERSX0FSRV9ERVBFTkRFTlQgKGRkcikgPT0gY2hyZWNfa25vd24p CisgICAgcmV0dXJuIGZhbHNlOworICAvKiBPciB0aGUgZGF0YSBkZXBlbmRl bmNlIGNhbiBiZSByZXNvbHZlZCBieSBjb21waWxhdGlvbiB0aW1lIGFsaWFz CisgICAgIGNoZWNrLiAgKi8KKyAgZWxzZSBpZiAoIWFsaWFzX3NldHNfY29u ZmxpY3RfcCAoZ2V0X2FsaWFzX3NldCAoRFJfUkVGIChkcjEpKSwKKwkJCQkg ICBnZXRfYWxpYXNfc2V0IChEUl9SRUYgKGRyMikpKSkKKyAgICByZXR1cm4g ZmFsc2U7CisgIC8qIEZvciB1bmtub3duIGRhdGEgZGVwZW5kZW5jZSBvciBr bm93biBkYXRhIGRlcGVuZGVuY2Ugd2hpY2ggY2FuJ3QgYmUKKyAgICAgZXhw cmVzc2VkIGluIGNsYXNzaWMgZGlzdGFuY2UgdmVjdG9yLCB3ZSBjaGVjayBp ZiBpdCBjYW4gYmUgcmVzb2x2ZWQKKyAgICAgYnkgcnVudGltZSBhbGlhcyBj aGVjay4gIElmIHllcywgd2Ugc3RpbGwgY29uc2lkZXIgZGF0YSBkZXBlbmRl bmNlCisgICAgIGFzIHdvbid0IGludHJvZHVjZSBkYXRhIGRlcGVuZGVuY2Ug Y3ljbGUuICAqLworICBlbHNlIGlmIChERFJfQVJFX0RFUEVOREVOVCAoZGRy KSA9PSBjaHJlY19kb250X2tub3cKKwkgICB8fCBERFJfTlVNX0RJU1RfVkVD VFMgKGRkcikgPT0gMCkKKyAgICByZXR1cm4gIXJ1bnRpbWVfYWxpYXNfY2hl Y2tfcCAoZGRyLCBOVUxMLCB0cnVlKTsKKyAgZWxzZSBpZiAoRERSX05VTV9E SVNUX1ZFQ1RTIChkZHIpID4gMSkKKyAgICByZXR1cm4gdHJ1ZTsKKyAgZWxz ZSBpZiAoRERSX1JFVkVSU0VEX1AgKGRkcikKKwkgICB8fCBsYW1iZGFfdmVj dG9yX3plcm9wIChERFJfRElTVF9WRUNUIChkZHIsIDApLCAxKSkKKyAgICBy ZXR1cm4gZmFsc2U7CisKKyAgcmV0dXJuIHRydWU7Cit9CisKIC8qIFJldHVy bnMgYSBwYXJ0aXRpb24gd2l0aCBhbGwgdGhlIHN0YXRlbWVudHMgbmVlZGVk IGZvciBjb21wdXRpbmcKICAgIHRoZSB2ZXJ0ZXggViBvZiB0aGUgUkRHLCBh bHNvIGluY2x1ZGluZyB0aGUgbG9vcCBleGl0IGNvbmRpdGlvbnMuICAqLwog CkBAIC0xMTUxLDcgKzEyMDUsOCBAQCBidWlsZF9yZGdfcGFydGl0aW9uX2Zv cl92ZXJ0ZXggKHN0cnVjdCBncmFwaCAqcmRnLCBpbnQgdikKICAgYXV0b192 ZWM8aW50LCAzPiBub2RlczsKICAgdW5zaWduZWQgaSwgajsKICAgaW50IHg7 Ci0gIGRhdGFfcmVmZXJlbmNlX3AgZHI7CisgIGRhdGFfcmVmZXJlbmNlX3Ag ZHIsIGRyMSwgZHIyOworICBiaXRtYXBfaXRlcmF0b3IgYmksIGJqOwogCiAg IGdyYXBoZHNfZGZzIChyZGcsICZ2LCAxLCAmbm9kZXMsIGZhbHNlLCBOVUxM KTsKIApAQCAtMTE2Nyw2ICsxMjIyLDEyIEBAIGJ1aWxkX3JkZ19wYXJ0aXRp b25fZm9yX3ZlcnRleCAoc3RydWN0IGdyYXBoICpyZGcsIGludCB2KQogCiAJ ICBnY2NfYXNzZXJ0IChzbG90ICE9IE5VTEwpOwogCisJICAvKiBQYXJ0aXRp b24gY2FuIG9ubHkgYmUgZXhlY3V0ZWQgc2VxdWVudGlhbGx5IGlmIHRoZXJl IGlzIGFueQorCSAgICAgdW5rbm93biBkYXRhIHJlZmVyZW5jZS4gICovCisJ ICBpZiAoIURSX0JBU0VfQUREUkVTUyAoZHIpIHx8ICFEUl9PRkZTRVQgKGRy KQorCSAgICAgIHx8ICFEUl9JTklUIChkcikgfHwgIURSX1NURVAgKGRyKSkK KwkgICAgcGFydGl0aW9uLT50eXBlID0gUFRZUEVfU0VRVUVOVElBTDsKKwog CSAgaWYgKERSX0lTX1JFQUQgKGRyKSkKIAkgICAgYml0bWFwX3NldF9iaXQg KHBhcnRpdGlvbi0+cmVhZHMsICpzbG90KTsKIAkgIGVsc2UKQEAgLTExNzQs NiArMTIzNSw0MyBAQCBidWlsZF9yZGdfcGFydGl0aW9uX2Zvcl92ZXJ0ZXgg KHN0cnVjdCBncmFwaCAqcmRnLCBpbnQgdikKIAl9CiAgICAgfQogCisgIGlm IChwYXJ0aXRpb24tPnR5cGUgPT0gUFRZUEVfU0VRVUVOVElBTCkKKyAgICBy ZXR1cm4gcGFydGl0aW9uOworCisgIC8qIEZ1cnRoZXIgY2hlY2sgaWYgYW55 IGRhdGEgZGVwZW5kZW5jZSBwcmV2ZW50cyB1cyBmcm9tIGV4ZWN1dGluZyB0 aGUKKyAgICAgcGFydGl0aW9uIHBhcmFsbGVsbHkuICAqLworICBFWEVDVVRF X0lGX1NFVF9JTl9CSVRNQVAgKHBhcnRpdGlvbi0+cmVhZHMsIDAsIGksIGJp KQorICAgIHsKKyAgICAgIGRyMSA9ICgqZGF0YXJlZnNfdmVjKVtpXTsKKyAg ICAgIEVYRUNVVEVfSUZfU0VUX0lOX0JJVE1BUCAocGFydGl0aW9uLT53cml0 ZXMsIDAsIGosIGJqKQorCXsKKwkgIGRyMiA9ICgqZGF0YXJlZnNfdmVjKVtq XTsKKwkgIC8qIFBhcnRpdGlvbiBjYW4gb25seSBiZSBleGVjdXRlZCBzZXF1 ZW50aWFsbHkgaWYgdGhlcmUgaXMgYW55CisJICAgICBkYXRhIGRlcGVuZGVu Y2UgY3ljbGUuICAqLworCSAgaWYgKGRhdGFfZGVwX2luX2N5Y2xlX3AgKHJk ZywgZHIxLCBkcjIpKQorCSAgICB7CisJICAgICAgcGFydGl0aW9uLT50eXBl ID0gUFRZUEVfU0VRVUVOVElBTDsKKwkgICAgICByZXR1cm4gcGFydGl0aW9u OworCSAgICB9CisJfQorICAgIH0KKworICBFWEVDVVRFX0lGX1NFVF9JTl9C SVRNQVAgKHBhcnRpdGlvbi0+cmVhZHMsIDAsIGksIGJpKQorICAgIHsKKyAg ICAgIGRyMSA9ICgqZGF0YXJlZnNfdmVjKVtpXTsKKyAgICAgIEVYRUNVVEVf SUZfU0VUX0lOX0JJVE1BUCAocGFydGl0aW9uLT53cml0ZXMsIGkgKyAxLCBq LCBiaikKKwl7CisJICBkcjIgPSAoKmRhdGFyZWZzX3ZlYylbal07CisJICAv KiBQYXJ0aXRpb24gY2FuIG9ubHkgYmUgZXhlY3V0ZWQgc2VxdWVudGlhbGx5 IGlmIHRoZXJlIGlzIGFueQorCSAgICAgZGF0YSBkZXBlbmRlbmNlIGN5Y2xl LiAgKi8KKwkgIGlmIChkYXRhX2RlcF9pbl9jeWNsZV9wIChyZGcsIGRyMSwg ZHIyKSkKKwkgICAgeworCSAgICAgIHBhcnRpdGlvbi0+dHlwZSA9IFBUWVBF X1NFUVVFTlRJQUw7CisJICAgICAgcmV0dXJuIHBhcnRpdGlvbjsKKwkgICAg fQorCX0KKyAgICB9CisKICAgcmV0dXJuIHBhcnRpdGlvbjsKIH0KIApAQCAt MTQ3Myw4ICsxNTcxLDkgQEAgcmRnX2J1aWxkX3BhcnRpdGlvbnMgKHN0cnVj dCBncmFwaCAqcmRnLAogCiAgICAgICBpZiAoZHVtcF9maWxlICYmIChkdW1w X2ZsYWdzICYgVERGX0RFVEFJTFMpKQogCXsKLQkgIGZwcmludGYgKGR1bXBf ZmlsZSwgImxkaXN0IHVzZWZ1bCBwYXJ0aXRpb246XG4iKTsKLQkgIGR1bXBf Yml0bWFwIChkdW1wX2ZpbGUsIHBhcnRpdGlvbi0+c3RtdHMpOworCSAgZnBy aW50ZiAoZHVtcF9maWxlLCAibGRpc3QgY3JlYXRlcyB1c2VmdWwgJXMgcGFy dGl0aW9uOlxuIiwKKwkJICAgcGFydGl0aW9uLT50eXBlID09IFBUWVBFX1BB UkFMTEVMID8gInBhcmFsbGVsIiA6ICJzZXF1ZW50Iik7CisJICBiaXRtYXBf cHJpbnQgKGR1bXBfZmlsZSwgcGFydGl0aW9uLT5zdG10cywgIiAgIiwgIlxu Iik7CiAJfQogCiAgICAgICBwYXJ0aXRpb25zLT5zYWZlX3B1c2ggKHBhcnRp dGlvbik7Ci0tIAoxLjkuMQoK --_002_VI1PR0802MB2176F778EE1712D855143522E7CD0VI1PR0802MB2176_--