From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtp.smtpout.orange.fr (smtp-29.smtpout.orange.fr [80.12.242.29]) by sourceware.org (Postfix) with ESMTPS id 412463858D35 for ; Sat, 9 Sep 2023 10:44:14 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 412463858D35 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=orange.fr Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=orange.fr Received: from [192.168.1.15] ([86.215.161.51]) by smtp.orange.fr with ESMTPA id evReqOH6nmTYjevRkqRRt2; Sat, 09 Sep 2023 12:44:12 +0200 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=orange.fr; s=t20230301; t=1694256252; bh=n3SfuY4NpaISlnz0Ae7ZY+PMD+rUUuTEk4lE9UNSf1o=; h=Date:From:Subject:To:References:In-Reply-To; b=sGVZDgQuBS84CBDaea7RbfKLdu2BqatxFGJO2cIQyeYvoHYVqMxPw7itNAAoGjUuC 5rAm1DEAzNeH9kgkak3LkflqojUJbGLBFBlzQbYHmRqoFmouE+y1qd1L2purbpWAZK ng/uLS8pBEpoZfBXofr7oGxfq0YzZ4Z9jyzKxMV6yo2uaWXPJpZC0/RM0xtmXGA5UG fWdOfwuxVf1IvxuWGbBFQbN4upHP4Tn02umk01F6WSZjp++Gwc2FhnkAEzUGx04v+M z9kXgd72s5Ix7lUDaDgszpbcMVO5hiWkvLpJmPMhdqKEfhoqBWI5ESZjYD5hO18Uuv LIV/PXhUQJv+Q== X-ME-Helo: [192.168.1.15] X-ME-Auth: bW9yaW4tbWlrYWVsQG9yYW5nZS5mcg== X-ME-Date: Sat, 09 Sep 2023 12:44:12 +0200 X-ME-IP: 86.215.161.51 Content-Type: multipart/mixed; boundary="------------JZB7LLVFBux4y2skWalpG90B" Message-ID: Date: Sat, 9 Sep 2023 12:44:06 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird From: Mikael Morin Subject: Re: [PATCH] fortran: Remove redundant tree walk to delete element To: Harald Anlauf , Mikael Morin , gcc-patches@gcc.gnu.org, fortran@gcc.gnu.org References: <20230908100434.541577-1-mikael@gcc.gnu.org> <7538c30a-e595-41fc-be35-653a3371f95e@gmx.de> Content-Language: en-US In-Reply-To: <7538c30a-e595-41fc-be35-653a3371f95e@gmx.de> X-Spam-Status: No, score=-10.6 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,GIT_PATCH_0,JMQ_SPF_NEUTRAL,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,SPF_HELO_PASS,SPF_PASS,TXREP 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: This is a multi-part message in MIME format. --------------JZB7LLVFBux4y2skWalpG90B Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Le 08/09/2023 à 23:22, Harald Anlauf via Fortran a écrit : > Am 08.09.23 um 12:04 schrieb Mikael Morin via Gcc-patches: >> Hello, >> >> this avoids some redundant work in the symbol deletion code, which is >> used a lot by the parser to cancel statements that fail to match in the >> end. >> I haven't tried to measure the performance effect, if any, on a >> pathological example; >> just passed the fortran testsuite on x86_64-pc-linux-gnu. >> OK for master? > > This is OK. > Thanks. I had forgotten function comments. This is what I have pushed. --------------JZB7LLVFBux4y2skWalpG90B Content-Type: text/x-patch; charset=UTF-8; name="remove-redundant-tree-walk.patch" Content-Disposition: attachment; filename="remove-redundant-tree-walk.patch" Content-Transfer-Encoding: base64 RnJvbSAxZWE3MTMwMzE1YTE0YmE0ZjY2YzJkZTc2ZDAzNGIzMzE4MTgxMmM1IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBNaWthZWwgTW9yaW4gPG1pa2FlbEBnY2MuZ251Lm9y Zz4KRGF0ZTogU2F0LCA5IFNlcCAyMDIzIDExOjQ1OjExICswMjAwClN1YmplY3Q6IFtQQVRD SF0gZm9ydHJhbjogUmVtb3ZlIHJlZHVuZGFudCB0cmVlIHdhbGsgdG8gZGVsZXRlIGVsZW1l bnQKClJlbW92ZSBwcmVsaW1pbmFyeSB3YWxrIG9mIHRoZSBzeW1ib2wgdHJlZSB3aGVuIHdl IGFyZSBhYm91dCB0byByZW1vdmUgYW4KZWxlbWVudC4gIFRoaXMgcHJlbGltaW5hcnkgd2Fs ayB3YXMgbmVjZXNzYXJ5IGJlY2F1c2UgdGhlIGRlbGV0aW9uIGZ1bmN0aW9uCnVwZGF0ZWQg dGhlIHRyZWUgd2l0aG91dCByZXBvcnRpbmcgYmFjayB0byB0aGUgY2FsbGVyIHRoZSBlbGVt ZW50IGl0IGhhZApyZW1vdmVkLiAgQnV0IGtub3dpbmcgdGhhdCBlbGVtZW50IGlzIG5lY2Vz c2FyeSB0byBmcmVlIGl0cyBtZW1vcnksIHNvIG9uZQpoYWQgdG8gZmlyc3QgZ2V0IHRoYXQg ZWxlbWVudCBiZWZvcmUgaXQgd2FzIHJlbW92ZWQgZnJvbSB0aGUgdHJlZS4KClRoaXMgY2hh bmdlIHVwZGF0ZXMgdGhlIG1haW4gZGVsZXRpb24gZnVuY3Rpb24gZGVsZXRlX3RyZWFwIGFu ZCBpdHMgcHVibGljCndyYXBwZXIgZ2ZjX2RlbGV0ZV9iYnQgc28gdGhhdCB0aGUgcmVtb3Zl ZCBlbGVtZW50IGNhbiBiZSBrbm93biBieSB0aGUKY2FsbGVyLiAgVGhpcyBtYWtlcyB0aGUg cHJlbGltaW5hcnkgd2FsayBpbiBnZmNfZGVsZXRlX3N5bXRyZWUgcmVkdW5kYW50LApwZXJt aXR0aW5nIGl0cyByZW1vdmFsLgoKZ2NjL2ZvcnRyYW4vQ2hhbmdlTG9nOgoKCSogYmJ0LmNj IChkZWxldGVfdHJlYXApOiBBZGQgYXJndW1lbnQgUkVNT1ZFRCwgc2V0IGl0IHRvIHRoZSBy ZW1vdmVkCgllbGVtZW50IGZyb20gdGhlIHRyZWUuICBDaGFuZ2UgTlVMTCB0byBudWxscHRy LgoJKGdmY19kZWxldGVfYmJ0KTogUmV0dXJuIHRoZSByZW1vdmVkIGVsZW1lbnQgZnJvbSB0 aGUgdHJlZS4KCSogZ2ZvcnRyYW4uaCAoZ2ZjX2RlbGV0ZV9zeW10cmVlKTogUmVtb3ZlIHBy b3RvdHlwZS4KCShnZmNfZGVsZXRlX2JidCk6IFNldCByZXR1cm4gdHlwZSB0byBwb2ludGVy LgoJKiBzeW1ib2wuY2MgKGdmY19kZWxldGVfc3ltdHJlZSk6IE1ha2Ugc3RhdGljLiAgR2V0 IHRoZSBlbGVtZW50IHRvIGJlCglmcmVlZCBmcm9tIHRoZSByZXN1bHQgb2YgZ2ZjX2RlbGV0 ZV9iYnQuICBSZW1vdmUgdGhlIHByZWxpbWluYXJ5IHdhbGsgdG8KCWdldCBpdC4KLS0tCiBn Y2MvZm9ydHJhbi9iYnQuY2MgICAgIHwgNDEgKysrKysrKysrKysrKysrKysrKysrKysrKysr KystLS0tLS0tLS0tLS0KIGdjYy9mb3J0cmFuL2dmb3J0cmFuLmggfCAgMyArLS0KIGdjYy9m b3J0cmFuL3N5bWJvbC5jYyAgfCAgNiArKy0tLS0KIDMgZmlsZXMgY2hhbmdlZCwgMzIgaW5z ZXJ0aW9ucygrKSwgMTggZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZ2NjL2ZvcnRyYW4v YmJ0LmNjIGIvZ2NjL2ZvcnRyYW4vYmJ0LmNjCmluZGV4IDg1MWU1ZTkyYzdiLi43ZjFmNDA2 N2ZiZCAxMDA2NDQKLS0tIGEvZ2NjL2ZvcnRyYW4vYmJ0LmNjCisrKyBiL2djYy9mb3J0cmFu L2JidC5jYwpAQCAtMTYyLDM3ICsxNjIsNTQgQEAgZGVsZXRlX3Jvb3QgKGdmY19iYnQgKnQp CiB9CiAKIAotLyogRGVsZXRlIGFuIGVsZW1lbnQgZnJvbSBhIHRyZWUuICBUaGUgJ29sZCcg dmFsdWUgZG9lcyBub3QKLSAgIG5lY2Vzc2FyaWx5IGhhdmUgdG8gcG9pbnQgdG8gdGhlIGVs ZW1lbnQgdG8gYmUgZGVsZXRlZCwgaXQgbXVzdAotICAganVzdCBwb2ludCB0byBhIHRyZWFw IHN0cnVjdHVyZSB3aXRoIHRoZSBrZXkgdG8gYmUgZGVsZXRlZC4KLSAgIFJldHVybnMgdGhl IG5ldyByb290IG5vZGUgb2YgdGhlIHRyZWUuICAqLworLyogRGVsZXRlIGFuIGVsZW1lbnQg ZnJvbSBhIHRyZWUsIHJldHVybmluZyB0aGUgbmV3IHJvb3Qgbm9kZSBvZiB0aGUgdHJlZS4K KyAgIFRoZSBPTEQgdmFsdWUgZG9lcyBub3QgbmVjZXNzYXJpbHkgaGF2ZSB0byBwb2ludCB0 byB0aGUgZWxlbWVudCB0byBiZQorICAgZGVsZXRlZCwgaXQgbXVzdCBqdXN0IHBvaW50IHRv IGEgdHJlYXAgc3RydWN0dXJlIHdpdGggdGhlIGtleSB0byBiZSBkZWxldGVkLgorICAgVGhl IFJFTU9WRUQgYXJndW1lbnQsIGlmIG5vbi1udWxsLCBpcyBzZXQgdG8gdGhlIHJlbW92ZWQg ZWxlbWVudCBmcm9tIHRoZQorICAgdHJlZSB1cG9uIHJldHVybi4gICovCiAKIHN0YXRpYyBn ZmNfYmJ0ICoKLWRlbGV0ZV90cmVhcCAoZ2ZjX2JidCAqb2xkLCBnZmNfYmJ0ICp0LCBjb21w YXJlX2ZuIGNvbXBhcmUpCitkZWxldGVfdHJlYXAgKGdmY19iYnQgKm9sZCwgZ2ZjX2JidCAq dCwgY29tcGFyZV9mbiBjb21wYXJlLCBnZmNfYmJ0ICoqcmVtb3ZlZCkKIHsKICAgaW50IGM7 CiAKLSAgaWYgKHQgPT0gTlVMTCkKLSAgICByZXR1cm4gTlVMTDsKKyAgaWYgKHQgPT0gbnVs bHB0cikKKyAgICB7CisgICAgICBpZiAocmVtb3ZlZCkKKwkqcmVtb3ZlZCA9IG51bGxwdHI7 CisgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICB9CiAKICAgYyA9ICgqY29tcGFyZSkgKG9s ZCwgdCk7CiAKICAgaWYgKGMgPCAwKQotICAgIHQtPmxlZnQgPSBkZWxldGVfdHJlYXAgKG9s ZCwgdC0+bGVmdCwgY29tcGFyZSk7CisgICAgdC0+bGVmdCA9IGRlbGV0ZV90cmVhcCAob2xk LCB0LT5sZWZ0LCBjb21wYXJlLCByZW1vdmVkKTsKICAgaWYgKGMgPiAwKQotICAgIHQtPnJp Z2h0ID0gZGVsZXRlX3RyZWFwIChvbGQsIHQtPnJpZ2h0LCBjb21wYXJlKTsKKyAgICB0LT5y aWdodCA9IGRlbGV0ZV90cmVhcCAob2xkLCB0LT5yaWdodCwgY29tcGFyZSwgcmVtb3ZlZCk7 CiAgIGlmIChjID09IDApCi0gICAgdCA9IGRlbGV0ZV9yb290ICh0KTsKKyAgICB7CisgICAg ICBpZiAocmVtb3ZlZCkKKwkqcmVtb3ZlZCA9IHQ7CisgICAgICB0ID0gZGVsZXRlX3Jvb3Qg KHQpOworICAgIH0KIAogICByZXR1cm4gdDsKIH0KIAogCi12b2lkCisvKiBEZWxldGUgdGhl IGVsZW1lbnQgZnJvbSB0aGUgdHJlZSBhdCAqUk9PVCB0aGF0IG1hdGNoZXMgdGhlIE9MRCBl bGVtZW50CisgICBhY2NvcmRpbmcgdG8gdGhlIENPTVBBUkVfRk4gZnVuY3Rpb24uICBUaGlz IHVwZGF0ZXMgdGhlICpST09UIHBvaW50ZXIgdG8KKyAgIHBvaW50IHRvIHRoZSBuZXcgdHJl ZSByb290IChpZiBkaWZmZXJlbnQgZnJvbSB0aGUgb3JpZ2luYWwpIGFuZCByZXR1cm5zIHRo ZQorICAgZGVsZXRlZCBlbGVtZW50LiAgKi8KKwordm9pZCAqCiBnZmNfZGVsZXRlX2JidCAo dm9pZCAqcm9vdCwgdm9pZCAqb2xkLCBjb21wYXJlX2ZuIGNvbXBhcmUpCiB7CiAgIGdmY19i YnQgKip0OworICBnZmNfYmJ0ICpyZW1vdmVkOwogCiAgIHQgPSAoZ2ZjX2JidCAqKikgcm9v dDsKLSAgKnQgPSBkZWxldGVfdHJlYXAgKChnZmNfYmJ0ICopIG9sZCwgKnQsIGNvbXBhcmUp OworICAqdCA9IGRlbGV0ZV90cmVhcCAoKGdmY19iYnQgKikgb2xkLCAqdCwgY29tcGFyZSwg JnJlbW92ZWQpOworCisgIHJldHVybiAodm9pZCAqKSByZW1vdmVkOwogfQpkaWZmIC0tZ2l0 IGEvZ2NjL2ZvcnRyYW4vZ2ZvcnRyYW4uaCBiL2djYy9mb3J0cmFuL2dmb3J0cmFuLmgKaW5k ZXggYjM3YzZiYjlhZDQuLjM3MWY4NzQzMzEyIDEwMDY0NAotLS0gYS9nY2MvZm9ydHJhbi9n Zm9ydHJhbi5oCisrKyBiL2djYy9mb3J0cmFuL2dmb3J0cmFuLmgKQEAgLTM1MTAsNyArMzUx MCw2IEBAIGJvb2wgZ2ZjX3JlZmVyZW5jZV9zdF9sYWJlbCAoZ2ZjX3N0X2xhYmVsICosIGdm Y19zbF90eXBlKTsKIGdmY19uYW1lc3BhY2UgKmdmY19nZXRfbmFtZXNwYWNlIChnZmNfbmFt ZXNwYWNlICosIGludCk7CiBnZmNfc3ltdHJlZSAqZ2ZjX25ld19zeW10cmVlIChnZmNfc3lt dHJlZSAqKiwgY29uc3QgY2hhciAqKTsKIGdmY19zeW10cmVlICpnZmNfZmluZF9zeW10cmVl IChnZmNfc3ltdHJlZSAqLCBjb25zdCBjaGFyICopOwotdm9pZCBnZmNfZGVsZXRlX3N5bXRy ZWUgKGdmY19zeW10cmVlICoqLCBjb25zdCBjaGFyICopOwogZ2ZjX3N5bXRyZWUgKmdmY19n ZXRfdW5pcXVlX3N5bXRyZWUgKGdmY19uYW1lc3BhY2UgKik7CiBnZmNfdXNlcl9vcCAqZ2Zj X2dldF91b3AgKGNvbnN0IGNoYXIgKik7CiBnZmNfdXNlcl9vcCAqZ2ZjX2ZpbmRfdW9wIChj b25zdCBjaGFyICosIGdmY19uYW1lc3BhY2UgKik7CkBAIC0zOTExLDcgKzM5MTAsNyBAQCBi b29sIGdmY19pbmxpbmVfaW50cmluc2ljX2Z1bmN0aW9uX3AgKGdmY19leHByICopOwogLyog YmJ0LmNjICovCiB0eXBlZGVmIGludCAoKmNvbXBhcmVfZm4pICh2b2lkICosIHZvaWQgKik7 CiB2b2lkIGdmY19pbnNlcnRfYmJ0ICh2b2lkICosIHZvaWQgKiwgY29tcGFyZV9mbik7Ci12 b2lkIGdmY19kZWxldGVfYmJ0ICh2b2lkICosIHZvaWQgKiwgY29tcGFyZV9mbik7Cit2b2lk ICogZ2ZjX2RlbGV0ZV9iYnQgKHZvaWQgKiwgdm9pZCAqLCBjb21wYXJlX2ZuKTsKIAogLyog ZHVtcC1wYXJzZS10cmVlLmNjICovCiB2b2lkIGdmY19kdW1wX3BhcnNlX3RyZWUgKGdmY19u YW1lc3BhY2UgKiwgRklMRSAqKTsKZGlmZiAtLWdpdCBhL2djYy9mb3J0cmFuL3N5bWJvbC5j YyBiL2djYy9mb3J0cmFuL3N5bWJvbC5jYwppbmRleCBhYTNjZGM5OGM4Ni4uMmNiYTJlYTBi ZWQgMTAwNjQ0Ci0tLSBhL2djYy9mb3J0cmFuL3N5bWJvbC5jYworKysgYi9nY2MvZm9ydHJh bi9zeW1ib2wuY2MKQEAgLTI5NDgsNyArMjk0OCw3IEBAIGdmY19uZXdfc3ltdHJlZSAoZ2Zj X3N5bXRyZWUgKipyb290LCBjb25zdCBjaGFyICpuYW1lKQogCiAvKiBEZWxldGUgYSBzeW1i b2wgZnJvbSB0aGUgdHJlZS4gIERvZXMgbm90IGZyZWUgdGhlIHN5bWJvbCBpdHNlbGYhICAq LwogCi12b2lkCitzdGF0aWMgdm9pZAogZ2ZjX2RlbGV0ZV9zeW10cmVlIChnZmNfc3ltdHJl ZSAqKnJvb3QsIGNvbnN0IGNoYXIgKm5hbWUpCiB7CiAgIGdmY19zeW10cmVlIHN0LCAqc3Qw OwpAQCAtMjk2MywxMCArMjk2Myw4IEBAIGdmY19kZWxldGVfc3ltdHJlZSAoZ2ZjX3N5bXRy ZWUgKipyb290LCBjb25zdCBjaGFyICpuYW1lKQogICBlbHNlCiAgICAgcCA9IG5hbWU7CiAK LSAgc3QwID0gZ2ZjX2ZpbmRfc3ltdHJlZSAoKnJvb3QsIHApOwotCiAgIHN0Lm5hbWUgPSBn ZmNfZ2V0X3N0cmluZyAoIiVzIiwgcCk7Ci0gIGdmY19kZWxldGVfYmJ0IChyb290LCAmc3Qs IGNvbXBhcmVfc3ltdHJlZSk7CisgIHN0MCA9IChnZmNfc3ltdHJlZSAqKSBnZmNfZGVsZXRl X2JidCAocm9vdCwgJnN0LCBjb21wYXJlX3N5bXRyZWUpOwogCiAgIGZyZWUgKHN0MCk7CiB9 Ci0tIAoyLjQwLjEKCg== --------------JZB7LLVFBux4y2skWalpG90B--