From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [216.205.24.124]) by sourceware.org (Postfix) with ESMTP id 8C1B63858002 for ; Tue, 28 Sep 2021 06:17:20 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 8C1B63858002 Received: from mail-lf1-f72.google.com (mail-lf1-f72.google.com [209.85.167.72]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-143-rR1AwRB8O_GgczbSxAZXHg-1; Tue, 28 Sep 2021 02:17:17 -0400 X-MC-Unique: rR1AwRB8O_GgczbSxAZXHg-1 Received: by mail-lf1-f72.google.com with SMTP id c24-20020ac25318000000b003f257832dfdso18158191lfh.20 for ; Mon, 27 Sep 2021 23:17:16 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=4OONA9xMdkrtv++01yhpeGBqF5VTdqSrk1S/YApTTaw=; b=BE8n+9vjIxKnFt1I5t/5XvGHqASXbhbAB4s6AmGx7G6ZSEeYWCswTgZBxhXoAonlfw WrgN8Xxx6pM/ksjmxzE3+fpib96W588qFT9pMtbSX9JYIoB+fcIrc7oOa7NnR9UDj30o ItjJgkd2NuLDeoEM8ru/xv+4NJraZFH9xtQPn+xom1c6/M9Us35EyiZQqJvGTA2E5gYn ApDn2H3awLUxokUiB3JF7TUIem4YW0Y32bdfCTdyxbNbB63LZjt+vFC8pRwsm1H41Dbe yo5p+7Dv22oGMI2Mef+Na31rhsklbf0WVRFad5d6i3tjp6NQG8yZnK0ubCz3HWXa5Hd7 3mbg== X-Gm-Message-State: AOAM531MDzdKLqCXJtWhHVO7QaJjg03xGNJTcTztDJt8O7rnJpip01Od iX2w8dnj5RHqJyDNhO7fH/UTwIzudXOWxpFIoihUccE2wgR4XEguvL/k4RNzI8WCjw6Tn8PNvv8 g3CLRKQPqa1NbiZVvoYJEGDCF9TL3UwwObw== X-Received: by 2002:ac2:58ee:: with SMTP id v14mr3868080lfo.86.1632809835639; Mon, 27 Sep 2021 23:17:15 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyeYVk2En5I2E9glv7nwyoJMpY1RY/2Zddrr8iVVeQc9AZJ7+n2MIBcvEDZop/aBRIzIMJ6Sucpp45a7HAF1es= X-Received: by 2002:ac2:58ee:: with SMTP id v14mr3868064lfo.86.1632809835395; Mon, 27 Sep 2021 23:17:15 -0700 (PDT) MIME-Version: 1.0 References: <20210927150003.796951-1-aldyh@redhat.com> <7ea0e648-1456-8c9f-1d26-83cd149fc2d3@gmail.com> In-Reply-To: <7ea0e648-1456-8c9f-1d26-83cd149fc2d3@gmail.com> From: Aldy Hernandez Date: Tue, 28 Sep 2021 08:17:04 +0200 Message-ID: Subject: Re: [PATCH] Control all jump threading passes with -fjump-threads. To: Jeff Law Cc: GCC patches , Andrew MacLeod X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: multipart/mixed; boundary="00000000000039a86d05cd082afb" X-Spam-Status: No, score=-12.3 required=5.0 tests=BAYES_00, DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H2, SPF_HELO_NONE, SPF_NONE, TXREP autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 28 Sep 2021 06:17:22 -0000 --00000000000039a86d05cd082afb Content-Type: text/plain; charset="UTF-8" On Tue, Sep 28, 2021 at 3:46 AM Jeff Law wrote: > > > > On 9/27/2021 9:00 AM, Aldy Hernandez wrote: > > Last year I mentioned that -fthread-jumps was being ignored by the > > majority of our jump threading passes, and Jeff said he'd be in favor > > of fixing this. > > > > This patch remedies the situation, but it does change existing behavior. > > Currently -fthread-jumps is only enabled for -O2, -O3, and -Os. This > > means that even if we restricted all jump threading passes with > > -fthread-jumps, DOM jump threading would still seep through since it > > runs at -O1. > > > > I propose this patch, but it does mean that DOM jump threading would > > have to be explicitly enabled with -O1 -fthread-jumps. An > > alternative would be to also offer a specific -fno-dom-threading, but > > that seems icky. > > > > OK pending tests? > > > > gcc/ChangeLog: > > > > * tree-ssa-threadbackward.c (pass_thread_jumps::gate): Check > > flag_thread_jumps. > > (pass_early_thread_jumps::gate): Same. > > * tree-ssa-threadedge.c (jump_threader::thread_outgoing_edges): > > Return if !flag_thread_jumps. > > * tree-ssa-threadupdate.c > > (jt_path_registry::register_jump_thread): Assert that > > flag_thread_jumps is true. > OK. Clearly this is going to be even better once we disentangle > threading from DOM. Annoyingly, I had to tweak a few more tests, particularly some -Wuninitialized -O1 ones which seem to depend on DOM jump threading to give proper diagnostics. It seems that every change to jump threading needs tweaks to the Wuninitialized code :-(. Attached is the patch I have pushed. Aldy --00000000000039a86d05cd082afb Content-Type: text/x-patch; charset="US-ASCII"; name="f.patch" Content-Disposition: attachment; filename="f.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_ku3onor10 Y29tbWl0IDk0NTkxYjY2MmFhMDI1YTM5NjgxZGNlNmJmYzg4OWNiZTNkMWQyNTEKQXV0aG9yOiBB bGR5IEhlcm5hbmRleiA8YWxkeWhAcmVkaGF0LmNvbT4KRGF0ZTogICBNb24gU2VwIDI3IDE2OjQx OjAxIDIwMjEgKzAyMDAKCiAgICBDb250cm9sIGFsbCBqdW1wIHRocmVhZGluZyBwYXNzZXMgd2l0 aCAtZmp1bXAtdGhyZWFkcy4KICAgIAogICAgTGFzdCB5ZWFyIEkgbWVudGlvbmVkIHRoYXQgLWZ0 aHJlYWQtanVtcHMgd2FzIGJlaW5nIGlnbm9yZWQgYnkgdGhlCiAgICBtYWpvcml0eSBvZiBvdXIg anVtcCB0aHJlYWRpbmcgcGFzc2VzLCBhbmQgSmVmZiBzYWlkIGhlJ2QgYmUgaW4gZmF2b3IKICAg IG9mIGZpeGluZyB0aGlzLgogICAgCiAgICBUaGlzIHBhdGNoIHJlbWVkaWVzIHRoZSBzaXR1YXRp b24sIGJ1dCBpdCBkb2VzIGNoYW5nZSBleGlzdGluZyBiZWhhdmlvci4KICAgIEN1cnJlbnRseSAt ZnRocmVhZC1qdW1wcyBpcyBvbmx5IGVuYWJsZWQgZm9yIC1PMiwgLU8zLCBhbmQgLU9zLiAgVGhp cwogICAgbWVhbnMgdGhhdCBldmVuIGlmIHdlIHJlc3RyaWN0ZWQgYWxsIGp1bXAgdGhyZWFkaW5n IHBhc3NlcyB3aXRoCiAgICAtZnRocmVhZC1qdW1wcywgRE9NIGp1bXAgdGhyZWFkaW5nIHdvdWxk IHN0aWxsIHNlZXAgdGhyb3VnaCBzaW5jZSBpdAogICAgcnVucyBhdCAtTzEuCiAgICAKICAgIEkg cHJvcG9zZSB0aGlzIHBhdGNoLCBidXQgaXQgZG9lcyBtZWFuIHRoYXQgRE9NIGp1bXAgdGhyZWFk aW5nIHdvdWxkCiAgICBoYXZlIHRvIGJlIGV4cGxpY2l0bHkgZW5hYmxlZCB3aXRoIC1PMSAtZnRo cmVhZC1qdW1wcy4KICAgIAogICAgZ2NjL0NoYW5nZUxvZzoKICAgIAogICAgICAgICAgICAqIHRy ZWUtc3NhLXRocmVhZGJhY2t3YXJkLmMgKHBhc3NfdGhyZWFkX2p1bXBzOjpnYXRlKTogQ2hlY2sK ICAgICAgICAgICAgZmxhZ190aHJlYWRfanVtcHMuCiAgICAgICAgICAgIChwYXNzX2Vhcmx5X3Ro cmVhZF9qdW1wczo6Z2F0ZSk6IFNhbWUuCiAgICAgICAgICAgICogdHJlZS1zc2EtdGhyZWFkZWRn ZS5jIChqdW1wX3RocmVhZGVyOjp0aHJlYWRfb3V0Z29pbmdfZWRnZXMpOgogICAgICAgICAgICBS ZXR1cm4gaWYgIWZsYWdfdGhyZWFkX2p1bXBzLgogICAgICAgICAgICAqIHRyZWUtc3NhLXRocmVh ZHVwZGF0ZS5jCiAgICAgICAgICAgIChqdF9wYXRoX3JlZ2lzdHJ5OjpyZWdpc3Rlcl9qdW1wX3Ro cmVhZCk6IEFzc2VydCB0aGF0CiAgICAgICAgICAgIGZsYWdfdGhyZWFkX2p1bXBzIGlzIHRydWUu CiAgICAKICAgIGdjYy90ZXN0c3VpdGUvQ2hhbmdlTG9nOgogICAgCiAgICAgICAgICAgICogZ2Nj LmRnL2F1dG8taW5pdC11bmluaXQtMS5jOiBBZGQgLWZ0aHJlYWQtanVtcHMuCiAgICAgICAgICAg ICogZ2NjLmRnL2F1dG8taW5pdC11bmluaXQtMTUuYzogU2FtZS4KICAgICAgICAgICAgKiBnY2Mu ZGcvZ3VhbGl0eS9leGFtcGxlLmM6IFNhbWUuCiAgICAgICAgICAgICogZ2NjLmRnL2xvb3AtOC5j OiBTYW1lLgogICAgICAgICAgICAqIGdjYy5kZy9zdHJsZW5vcHQtNDAuYzogU2FtZS4KICAgICAg ICAgICAgKiBnY2MuZGcvdHJlZS1zc2EvcHIxODEzMy0yLmM6IFNhbWUuCiAgICAgICAgICAgICog Z2NjLmRnL3RyZWUtc3NhL3ByMTgxMzQuYzogU2FtZS4KICAgICAgICAgICAgKiBnY2MuZGcvdW5p bml0LTEuYzogU2FtZS4KICAgICAgICAgICAgKiBnY2MuZGcvdW5pbml0LXByNDQ1NDcuYzogU2Ft ZS4KICAgICAgICAgICAgKiBnY2MuZGcvdW5pbml0LXByNTk5NzAuYzogU2FtZS4KCmRpZmYgLS1n aXQgYS9nY2MvdGVzdHN1aXRlL2djYy5kZy9hdXRvLWluaXQtdW5pbml0LTEuYyBiL2djYy90ZXN0 c3VpdGUvZ2NjLmRnL2F1dG8taW5pdC11bmluaXQtMS5jCmluZGV4IDUwMmRiNTkxMjIyLi5jZTg5 MDk2MjNhYiAxMDA2NDQKLS0tIGEvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvYXV0by1pbml0LXVuaW5p dC0xLmMKKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvYXV0by1pbml0LXVuaW5pdC0xLmMKQEAg LTEsNSArMSw1IEBACiAvKiBTcHVyaW91cyB1bmluaXRpYWxpemVkIHZhcmlhYmxlIHdhcm5pbmdz LCBjYXNlIDEuCiAgICBUYWtlbiBmcm9tIGNwcGZpbGVzLmMgKG1lcmdlX2luY2x1ZGVfY2hhaW5z KSAqLwogLyogeyBkZy1kbyBjb21waWxlIH0gKi8KLS8qIHsgZGctb3B0aW9ucyAiLU8gLVd1bmlu aXRpYWxpemVkIC1mdHJpdmlhbC1hdXRvLXZhci1pbml0PXplcm8iIH0gKi8KKy8qIHsgZGctb3B0 aW9ucyAiLU8gLVd1bmluaXRpYWxpemVkIC1mdGhyZWFkLWp1bXBzIC1mdHJpdmlhbC1hdXRvLXZh ci1pbml0PXplcm8iIH0gKi8KICNpbmNsdWRlICJ1bmluaXQtMS5jIgpkaWZmIC0tZ2l0IGEvZ2Nj L3Rlc3RzdWl0ZS9nY2MuZGcvYXV0by1pbml0LXVuaW5pdC0xNS5jIGIvZ2NjL3Rlc3RzdWl0ZS9n Y2MuZGcvYXV0by1pbml0LXVuaW5pdC0xNS5jCmluZGV4IDEyMWYwY2ZmMjc0Li5iOGY2ZTJiNTdk NSAxMDA2NDQKLS0tIGEvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvYXV0by1pbml0LXVuaW5pdC0xNS5j CisrKyBiL2djYy90ZXN0c3VpdGUvZ2NjLmRnL2F1dG8taW5pdC11bmluaXQtMTUuYwpAQCAtNSw3 ICs1LDcgQEAKICAgIEJ1dCBpdCBpcyBvZiBjb3Vyc2Ugb2sgaWYgd2Ugd2FybiBpbiBiYXIgYWJv dXQgdW5pbml0aWFsaXplZCB1c2UKICAgIG9mIGouICAobm90IHhmYWlsZWQgYWx0ZXJuYXRpdmUp ICAqLwogLyogeyBkZy1kbyBjb21waWxlIH0gKi8KLS8qIHsgZGctb3B0aW9ucyAiLU8xIC1XdW5p bml0aWFsaXplZCAtZnRyaXZpYWwtYXV0by12YXItaW5pdD16ZXJvIiB9ICovCisvKiB7IGRnLW9w dGlvbnMgIi1PMSAtV3VuaW5pdGlhbGl6ZWQgLWZ0aHJlYWQtanVtcHMgLWZ0cml2aWFsLWF1dG8t dmFyLWluaXQ9emVybyIgfSAqLwogCiBpbmxpbmUgaW50CiBmb28gKGludCBpKQpkaWZmIC0tZ2l0 IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvZ3VhbGl0eS9leGFtcGxlLmMgYi9nY2MvdGVzdHN1aXRl L2djYy5kZy9ndWFsaXR5L2V4YW1wbGUuYwppbmRleCA2ZjFjMDE3YTI1My4uMzc1NjRlNTVjZDEg MTAwNjQ0Ci0tLSBhL2djYy90ZXN0c3VpdGUvZ2NjLmRnL2d1YWxpdHkvZXhhbXBsZS5jCisrKyBi L2djYy90ZXN0c3VpdGUvZ2NjLmRnL2d1YWxpdHkvZXhhbXBsZS5jCkBAIC0xLDQgKzEsMyBAQAot LyogeyBkZy1kbyBydW4geyB4ZmFpbCB7ICEgYWFyY2g2NCotKi0qIH0gfSB9ICovCiAvKiB7IGRn LW9wdGlvbnMgIi1nIiB9ICovCiAvKiB7IGRnLXhmYWlsLXJ1bi1pZiAiIiBhYXJjaDY0Ki0qLSog IioiIHsgIi1PWzAxZ10iIH0gfSAqLwogCmRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2djYy5k Zy9sb29wLTguYyBiL2djYy90ZXN0c3VpdGUvZ2NjLmRnL2xvb3AtOC5jCmluZGV4IDkwZWExYzQ1 NTI0Li5lNTIxOGViNDA1MyAxMDA2NDQKLS0tIGEvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvbG9vcC04 LmMKKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvbG9vcC04LmMKQEAgLTEsNSArMSw1IEBACiAv KiB7IGRnLWRvIGNvbXBpbGUgfSAqLwotLyogeyBkZy1vcHRpb25zICItTzEgLWZkdW1wLXJ0bC1s b29wMl9pbnZhcmlhbnQiIH0gKi8KKy8qIHsgZGctb3B0aW9ucyAiLU8xIC1mdGhyZWFkLWp1bXBz IC1mZHVtcC1ydGwtbG9vcDJfaW52YXJpYW50IiB9ICovCiAvKiB7IGRnLXNraXAtaWYgInVuZXhw ZWN0ZWQgSVYiIHsgImhwcGEqLSotKiBtaXBzKi0qLSogdmlzaXVtLSotKiBwb3dlcnBjKi0qLSog cmlzY3YqLSotKiBtbWl4LSotKiB2YXgtKi0qIiB9IH0gKi8KIC8qIExvYWQgaW1tZWRpYXRlIG9u IGNvbmRpdGlvbiBpcyBhdmFpbGFibGUgZnJvbSB6MTMgb24gYW5kIHByZXZlbnRzIG1vdmluZwog ICAgdGhlIGxvYWQgb3V0IG9mIHRoZSBsb29wLCBzbyBhbHdheXMgcnVuIHRoaXMgdGVzdCB3aXRo IC1tYXJjaD16RUMxMiB0aGF0CmRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2djYy5kZy9zdHJs ZW5vcHQtNDAuYyBiL2djYy90ZXN0c3VpdGUvZ2NjLmRnL3N0cmxlbm9wdC00MC5jCmluZGV4IDdh OTdlYmI4ZmU1Li43Yjc5OTEwNDcwOCAxMDA2NDQKLS0tIGEvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcv c3RybGVub3B0LTQwLmMKKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvc3RybGVub3B0LTQwLmMK QEAgLTEsNyArMSw3IEBACiAvKiBQUiB0cmVlLW9wdGltaXphdGlvbi84MzY3MSAtIGZpeCBmb3Ig ZmFsc2UgcG9zaXRpdmUgcmVwb3J0ZWQgYnkKICAgIC1Xc3RyaW5nb3Atb3ZlcmZsb3cgZG9lcyBu b3Qgd29yayB3aXRoIGlubGluaW5nCiAgICB7IGRnLWRvIGNvbXBpbGUgfQotICAgeyBkZy1vcHRp b25zICItTzEgLWZkdW1wLXRyZWUtb3B0aW1pemVkIiB9ICovCisgICB7IGRnLW9wdGlvbnMgIi1P MSAtZnRocmVhZC1qdW1wcyAtZmR1bXAtdHJlZS1vcHRpbWl6ZWQiIH0gKi8KIAogI2luY2x1ZGUg InN0cmxlbm9wdC5oIgogCmRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2djYy5kZy90cmVlLXNz YS9wcjE4MTMzLTIuYyBiL2djYy90ZXN0c3VpdGUvZ2NjLmRnL3RyZWUtc3NhL3ByMTgxMzMtMi5j CmluZGV4IDg3MTc2NDBlMzI3Li4xYjQwOTg1MjE4OSAxMDA2NDQKLS0tIGEvZ2NjL3Rlc3RzdWl0 ZS9nY2MuZGcvdHJlZS1zc2EvcHIxODEzMy0yLmMKKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcv dHJlZS1zc2EvcHIxODEzMy0yLmMKQEAgLTEsNSArMSw1IEBACiAvKiB7IGRnLWRvIGNvbXBpbGUg fSAqLwotLyogeyBkZy1vcHRpb25zICItTzEgLWZkdW1wLXRyZWUtb3B0aW1pemVkLWJsb2NrcyIg fSAqLworLyogeyBkZy1vcHRpb25zICItTzEgLWZ0aHJlYWQtanVtcHMgLWZkdW1wLXRyZWUtb3B0 aW1pemVkLWJsb2NrcyIgfSAqLwogCiBpbnQgYywgZDsKIApkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3Rz dWl0ZS9nY2MuZGcvdHJlZS1zc2EvcHIxODEzNC5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvdHJl ZS1zc2EvcHIxODEzNC5jCmluZGV4IGNkNDBhYjJjMTYyLi5kN2Y1ZDI0MWViOSAxMDA2NDQKLS0t IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvdHJlZS1zc2EvcHIxODEzNC5jCisrKyBiL2djYy90ZXN0 c3VpdGUvZ2NjLmRnL3RyZWUtc3NhL3ByMTgxMzQuYwpAQCAtMSw1ICsxLDUgQEAKIC8qIHsgZGct ZG8gY29tcGlsZSB9ICovCi0vKiB7IGRnLW9wdGlvbnMgIi1PMSAtZmR1bXAtdHJlZS1vcHRpbWl6 ZWQiIH0gKi8KKy8qIHsgZGctb3B0aW9ucyAiLU8xIC1mdGhyZWFkLWp1bXBzIC1mZHVtcC10cmVl LW9wdGltaXplZCIgfSAqLwogCiBpbnQgIGZvbyAoaW50IGEpCiB7CmRpZmYgLS1naXQgYS9nY2Mv dGVzdHN1aXRlL2djYy5kZy91bmluaXQtMS5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvdW5pbml0 LTEuYwppbmRleCAwNjBlYzI1MGJhNy4uMTU2ZDM0ZmY3MzIgMTAwNjQ0Ci0tLSBhL2djYy90ZXN0 c3VpdGUvZ2NjLmRnL3VuaW5pdC0xLmMKKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvdW5pbml0 LTEuYwpAQCAtMSw3ICsxLDcgQEAKIC8qIFNwdXJpb3VzIHVuaW5pdGlhbGl6ZWQgdmFyaWFibGUg d2FybmluZ3MsIGNhc2UgMS4KICAgIFRha2VuIGZyb20gY3BwZmlsZXMuYyAobWVyZ2VfaW5jbHVk ZV9jaGFpbnMpICovCiAvKiB7IGRnLWRvIGNvbXBpbGUgfSAqLwotLyogeyBkZy1vcHRpb25zICIt TyAtV3VuaW5pdGlhbGl6ZWQiIH0gKi8KKy8qIHsgZGctb3B0aW9ucyAiLU8gLVd1bmluaXRpYWxp emVkIC1mdGhyZWFkLWp1bXBzIiB9ICovCiAKIHN0cnVjdCBsaXN0CiB7CmRpZmYgLS1naXQgYS9n Y2MvdGVzdHN1aXRlL2djYy5kZy91bmluaXQtcHI0NDU0Ny5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2Mu ZGcvdW5pbml0LXByNDQ1NDcuYwppbmRleCBlZTEwMzVhZDdiOC4uZjFjM2IwMzRkMTQgMTAwNjQ0 Ci0tLSBhL2djYy90ZXN0c3VpdGUvZ2NjLmRnL3VuaW5pdC1wcjQ0NTQ3LmMKKysrIGIvZ2NjL3Rl c3RzdWl0ZS9nY2MuZGcvdW5pbml0LXByNDQ1NDcuYwpAQCAtMSw3ICsxLDcgQEAKIC8qIFBSIHRy ZWUtb3B0aW1pemF0aW9uLzQ0NTQ3IC0gLVd1bmluaXRpYWxpemVkIHJlcG9ydHMgZmFsc2Ugd2Fy bmluZwogICAgaW4gbmVzdGVkIHN3aXRjaCBzdGF0ZW1lbnRzCiAgICB7IGRnLWRvIGNvbXBpbGUg fQotICAgeyBkZy1vcHRpb25zICItTzEgLVdhbGwiIH0gKi8KKyAgIHsgZGctb3B0aW9ucyAiLU8x IC1XYWxsIC1mdGhyZWFkLWp1bXBzIiB9ICovCiAKIF9fYXR0cmlidXRlX18gKChub2lwYSkpIGlu dCB0ZXN0X08xIChpbnQgYXJnYykKIHsKZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLmRn L3VuaW5pdC1wcjU5OTcwLmMgYi9nY2MvdGVzdHN1aXRlL2djYy5kZy91bmluaXQtcHI1OTk3MC5j CmluZGV4IDE0NWFmNjU3YTc2Li5kMGM0MWI4NDgwZCAxMDA2NDQKLS0tIGEvZ2NjL3Rlc3RzdWl0 ZS9nY2MuZGcvdW5pbml0LXByNTk5NzAuYworKysgYi9nY2MvdGVzdHN1aXRlL2djYy5kZy91bmlu aXQtcHI1OTk3MC5jCkBAIC00MSw3ICs0MSw3IEBAIGRfZGVtYW5nbGVfY2FsbGJhY2tfTzEgKGNv bnN0IGNoYXIgKm1hbmdsZWQpCiAjcHJhZ21hIEdDQyBwb3Bfb3B0aW9ucwogCiAKLSNwcmFnbWEg R0NDIG9wdGltaXplICgiT2ciKQorI3ByYWdtYSBHQ0Mgb3B0aW1pemUgKCJPZyx0aHJlYWQtanVt cHMiKQogCiBfX2F0dHJpYnV0ZV9fICgobm9pcGEpKSBpbnQKIGRfZGVtYW5nbGVfY2FsbGJhY2tf T2cgKGNvbnN0IGNoYXIgKm1hbmdsZWQpCmRpZmYgLS1naXQgYS9nY2MvdHJlZS1zc2EtdGhyZWFk YmFja3dhcmQuYyBiL2djYy90cmVlLXNzYS10aHJlYWRiYWNrd2FyZC5jCmluZGV4IGU2ODE5ZmUx NDhjLi4yOGM3ZWY4Yzg3MiAxMDA2NDQKLS0tIGEvZ2NjL3RyZWUtc3NhLXRocmVhZGJhY2t3YXJk LmMKKysrIGIvZ2NjL3RyZWUtc3NhLXRocmVhZGJhY2t3YXJkLmMKQEAgLTk0Myw3ICs5NDMsNyBA QCBwdWJsaWM6CiBib29sCiBwYXNzX3RocmVhZF9qdW1wczo6Z2F0ZSAoZnVuY3Rpb24gKmZ1biBB VFRSSUJVVEVfVU5VU0VEKQogewotICByZXR1cm4gZmxhZ19leHBlbnNpdmVfb3B0aW1pemF0aW9u czsKKyAgcmV0dXJuIGZsYWdfdGhyZWFkX2p1bXBzICYmIGZsYWdfZXhwZW5zaXZlX29wdGltaXph dGlvbnM7CiB9CiAKIC8vIFRyeSB0byB0aHJlYWQgYmxvY2tzIGluIEZVTi4gIFJldHVybiBUUlVF IGlmIGFueSBqdW1wIHRocmVhZCBwYXRocyB3ZXJlCkBAIC0xMDEzLDcgKzEwMTMsNyBAQCBwdWJs aWM6CiBib29sCiBwYXNzX2Vhcmx5X3RocmVhZF9qdW1wczo6Z2F0ZSAoZnVuY3Rpb24gKmZ1biBB VFRSSUJVVEVfVU5VU0VEKQogewotICByZXR1cm4gdHJ1ZTsKKyAgcmV0dXJuIGZsYWdfdGhyZWFk X2p1bXBzOwogfQogCiB1bnNpZ25lZCBpbnQKZGlmZiAtLWdpdCBhL2djYy90cmVlLXNzYS10aHJl YWRlZGdlLmMgYi9nY2MvdHJlZS1zc2EtdGhyZWFkZWRnZS5jCmluZGV4IDBiNTljYjQ4NDVjLi5h NjNhOTc2NGZmOCAxMDA2NDQKLS0tIGEvZ2NjL3RyZWUtc3NhLXRocmVhZGVkZ2UuYworKysgYi9n Y2MvdHJlZS1zc2EtdGhyZWFkZWRnZS5jCkBAIC0xMTk2LDYgKzExOTYsOSBAQCBqdW1wX3RocmVh ZGVyOjp0aHJlYWRfb3V0Z29pbmdfZWRnZXMgKGJhc2ljX2Jsb2NrIGJiKQogICBpbnQgZmxhZ3Mg PSAoRURHRV9JR05PUkUgfCBFREdFX0NPTVBMRVggfCBFREdFX0FCTk9STUFMKTsKICAgZ2ltcGxl ICpsYXN0OwogCisgIGlmICghZmxhZ190aHJlYWRfanVtcHMpCisgICAgcmV0dXJuOworCiAgIC8q IElmIHdlIGhhdmUgYW4gb3V0Z29pbmcgZWRnZSB0byBhIGJsb2NrIHdpdGggbXVsdGlwbGUgaW5j b21pbmcgYW5kCiAgICAgIG91dGdvaW5nIGVkZ2VzLCB0aGVuIHdlIG1heSBiZSBhYmxlIHRvIHRo cmVhZCB0aGUgZWRnZSwgaS5lLiwgd2UKICAgICAgbWF5IGJlIGFibGUgdG8gc3RhdGljYWxseSBk ZXRlcm1pbmUgd2hpY2ggb2YgdGhlIG91dGdvaW5nIGVkZ2VzCmRpZmYgLS1naXQgYS9nY2MvdHJl ZS1zc2EtdGhyZWFkdXBkYXRlLmMgYi9nY2MvdHJlZS1zc2EtdGhyZWFkdXBkYXRlLmMKaW5kZXgg MmI5YjhmODEyNzQuLmNmOTZjOTAzNjY4IDEwMDY0NAotLS0gYS9nY2MvdHJlZS1zc2EtdGhyZWFk dXBkYXRlLmMKKysrIGIvZ2NjL3RyZWUtc3NhLXRocmVhZHVwZGF0ZS5jCkBAIC0yODIyLDYgKzI4 MjIsOCBAQCBqdF9wYXRoX3JlZ2lzdHJ5OjpjYW5jZWxfaW52YWxpZF9wYXRocyAodmVjPGp1bXBf dGhyZWFkX2VkZ2UgKj4gJnBhdGgpCiBib29sCiBqdF9wYXRoX3JlZ2lzdHJ5OjpyZWdpc3Rlcl9q dW1wX3RocmVhZCAodmVjPGp1bXBfdGhyZWFkX2VkZ2UgKj4gKnBhdGgpCiB7CisgIGdjY19jaGVj a2luZ19hc3NlcnQgKGZsYWdfdGhyZWFkX2p1bXBzKTsKKwogICBpZiAoIWRiZ19jbnQgKHJlZ2lz dGVyZWRfanVtcF90aHJlYWQpKQogICAgIHsKICAgICAgIHBhdGgtPnJlbGVhc2UgKCk7Cg== --00000000000039a86d05cd082afb--