From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29]) by sourceware.org (Postfix) with ESMTPS id 0EF133858C83 for ; Mon, 21 Mar 2022 11:50:42 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 0EF133858C83 Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512) (No client certificate requested) by smtp-out2.suse.de (Postfix) with ESMTPS id D61131F37F; Mon, 21 Mar 2022 11:50:40 +0000 (UTC) Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512) (No client certificate requested) by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id BB4A213A60; Mon, 21 Mar 2022 11:50:40 +0000 (UTC) Received: from dovecot-director2.suse.de ([192.168.254.65]) by imap2.suse-dmz.suse.de with ESMTPSA id uHt+LJBmOGJgJwAAMHmgww (envelope-from ); Mon, 21 Mar 2022 11:50:40 +0000 Content-Type: multipart/mixed; boundary="------------ZRFank7mkFdUyD0oQUd6ggXQ" Message-ID: Date: Mon, 21 Mar 2022 12:50:40 +0100 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.4.1 Subject: Re: [PING^2][PATCH][final] Handle compiler-generated asm insn Content-Language: en-US To: Richard Biener , Alexandre Oliva Cc: GCC Patches References: <20220222135513.GA1591@delia.home> <2efa0fec-aea3-3b9e-61f2-7f0f332668e7@suse.de> From: Tom de Vries In-Reply-To: X-Spam-Status: No, score=-12.6 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, NICE_REPLY_A, SPF_HELO_NONE, SPF_PASS, TXREP, T_SCC_BODY_TEXT_LINE 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: Mon, 21 Mar 2022 11:50:43 -0000 This is a multi-part message in MIME format. --------------ZRFank7mkFdUyD0oQUd6ggXQ Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 3/21/22 08:58, Richard Biener wrote: > On Thu, Mar 17, 2022 at 4:10 PM Tom de Vries via Gcc-patches > wrote: >> >> On 3/9/22 13:50, Tom de Vries wrote: >>> On 2/22/22 14:55, Tom de Vries wrote: >>>> Hi, >>>> >>>> For the nvptx port, with -mptx-comment we have in pr53465.s: >>>> ... >>>> // #APP >>>> // 9 "gcc/testsuite/gcc.c-torture/execute/pr53465.c" 1 >>>> // Start: Added by -minit-regs=3: >>>> // #NO_APP >>>> mov.u32 %r26, 0; >>>> // #APP >>>> // 9 "gcc/testsuite/gcc.c-torture/execute/pr53465.c" 1 >>>> // End: Added by -minit-regs=3: >>>> // #NO_APP >>>> ... >>>> >>>> The comments where generated using the compiler-generated equivalent of: >>>> ... >>>> asm ("// Comment"); >>>> ... >>>> but both the printed location and the NO_APP/APP are unnecessary for a >>>> compiler-generated asm insn. >>>> >>>> Fix this by handling ASM_INPUT_SOURCE_LOCATION == UNKNOWN_LOCATION in >>>> final_scan_insn_1, such what we simply get: >>>> ... >>>> // Start: Added by -minit-regs=3: >>>> mov.u32 %r26, 0; >>>> // End: Added by -minit-regs=3: >>>> ... >>>> >>>> Tested on nvptx. >>>> >>>> OK for trunk? >>>> >>> >> >> Ping^2. >> >> Tobias just reported an ICE in PR104968, and this patch fixes it. >> >> I'd like to known whether this patch is acceptable for stage 4 or not. >> >> If not, I need to fix PR104968 in a different way. Say, disable >> -mcomment by default, or trying harder to propagate source info on >> outlined functions. > Hi, thanks for the review. > Usually targets use UNSPECs to emit compiler-generated "asm" > instructions. Ack. [ I could go down that route eventually, but for now I'm hoping to implement this without having to change the port. ] > I think an unknown location is a reasonable but not > the best way to identify 'compiler-generated', we might lose > the location through optimization. (why does it not use > the INSN_LOCATION?) > I don't know. FWIW, at the time that ASM_INPUT_SOURCE_LOCATION was introduced (2007), there was no INSN_LOCATION yet (introduced in 2012), only INSN_LOCATOR, my guess is that it has something to do with that. > Rather than a location I'd use sth like DECL_ARTIFICIAL to > disable 'user-mangling', do we have something like that for > ASM or an insn in general? Haven't found it. > If not maybe there's an unused > bit on ASMs we can enable this way. Done. I've used the jump flag for that. Updated, untested patch attached. Is this what you meant? Thanks, - Tom --------------ZRFank7mkFdUyD0oQUd6ggXQ Content-Type: text/x-patch; charset=UTF-8; name="0015-final-Handle-compiler-generated-asm-insn.patch" Content-Disposition: attachment; filename="0015-final-Handle-compiler-generated-asm-insn.patch" Content-Transfer-Encoding: base64 W2ZpbmFsXSBIYW5kbGUgY29tcGlsZXItZ2VuZXJhdGVkIGFzbSBpbnNuCgpGb3IgdGhlIG52 cHR4IHBvcnQsIHdpdGggLW1wdHgtY29tbWVudCB3ZSBoYXZlIGluIHByNTM0NjUuczoKLi4u CiAgICAgICAgLy8gI0FQUAovLyA5ICJnY2MvdGVzdHN1aXRlL2djYy5jLXRvcnR1cmUvZXhl Y3V0ZS9wcjUzNDY1LmMiIDEKICAgICAgICAvLyBTdGFydDogQWRkZWQgYnkgLW1pbml0LXJl Z3M9MzoKICAgICAgICAvLyAjTk9fQVBQCiAgICAgICAgICAgICAgICBtb3YudTMyICVyMjYs IDA7CiAgICAgICAgLy8gI0FQUAovLyA5ICJnY2MvdGVzdHN1aXRlL2djYy5jLXRvcnR1cmUv ZXhlY3V0ZS9wcjUzNDY1LmMiIDEKICAgICAgICAvLyBFbmQ6IEFkZGVkIGJ5IC1taW5pdC1y ZWdzPTM6CiAgICAgICAgLy8gI05PX0FQUAouLi4KClRoZSBjb21tZW50cyB3aGVyZSBnZW5l cmF0ZWQgdXNpbmcgdGhlIGNvbXBpbGVyLWdlbmVyYXRlZCBlcXVpdmFsZW50IG9mOgouLi4K ICBhc20gKCIvLyBDb21tZW50Iik7Ci4uLgpidXQgYm90aCB0aGUgcHJpbnRlZCBsb2NhdGlv biBhbmQgdGhlIE5PX0FQUC9BUFAgYXJlIHVubmVjZXNzYXJ5IGZvciBhCmNvbXBpbGVyLWdl bmVyYXRlZCBhc20gaW5zbi4KCkZpeCB0aGlzIGJ5OgotIGFkZGluZyBuZXcgZmxhZyBBU01f SU5QVVRfQVJUSUZJQ0lBTF9QCi0gaW4gZ2VuX2NvbW1lbnQ6CiAgLSBzZXR0aW5nIEFTTV9J TlBVVF9BUlRJRklDSUFMX1AgdG8gMQogIC0gc2V0dGluZyBBU01fSU5QVVRfU09VUkNFX0xP Q0FUSU9OIHRvIFVOS05PV05fTE9DQVRJT04sCi0gaW4gZmluYWxfc2Nhbl9pbnNuXzE6CiAg LSBoYW5kbGluZyBBU01fSU5QVVRfU09VUkNFX0xPQ0FUSU9OID09IFVOS05PV05fTE9DQVRJ T04gYW5kCiAgQVNNX0lOUFVUX0FSVElGSUNJQUxfUApzdWNoIHdoYXQgd2Ugc2ltcGx5IGdl dDoKLi4uCiAgICAgICAgLy8gU3RhcnQ6IEFkZGVkIGJ5IC1taW5pdC1yZWdzPTM6CiAgICAg ICAgICAgICAgICBtb3YudTMyICVyMjYsIDA7CiAgICAgICAgLy8gRW5kOiBBZGRlZCBieSAt bWluaXQtcmVncz0zOgouLi4KClRlc3RlZCBvbiBudnB0eC4KCmdjYy9DaGFuZ2VMb2c6Cgoy MDIyLTAyLTIxICBUb20gZGUgVnJpZXMgIDx0ZGV2cmllc0BzdXNlLmRlPgoKCVBSIHJ0bC1v cHRpbWl6YXRpb24vMTA0NTk2CgkqIHJ0bC5oIChzdHJ1Y3QgcnR4X2RlZik6IERvY3VtZW50 IHVzZSBvZiBqdW1wIGZsYWcgaW4gQVNNX0lOUFVULgoJKEFTTV9JTlBVVF9BUlRJRklDSUFM X1ApOiBOZXcgbWFjcm8uCgkqIGNvbmZpZy9udnB0eC9udnB0eC5jYyAoZ2VuX2NvbW1lbnQp OiBVc2UgZ2VuX3J0eF9BU01fSU5QVVQgaW5zdGVhZAoJb2YgZ2VuX3J0eF9BU01fSU5QVVRf bG9jLiAgU2V0IEFTTV9JTlBVVF9BUlRJRklDSUFMX1AuCgkqIGZpbmFsLmNjIChmaW5hbF9z Y2FuX2luc25fMSk6IEhhbmRsZQoJQVNNX0lOUFVUX1NPVVJDRV9MT0NBVElPTiA9PSBVTktO T1dOX0xPQ0FUSU9OIGFuZAoJQVNNX0lOUFVUX0FSVElGSUNJQUxfUC4KCi0tLQogZ2NjL2Nv bmZpZy9udnB0eC9udnB0eC5jYyB8ICA1ICsrKy0tCiBnY2MvZmluYWwuY2MgICAgICAgICAg ICAgIHwgMTggKysrKysrKysrKysrLS0tLS0tCiBnY2MvcnRsLmggICAgICAgICAgICAgICAg IHwgIDMgKysrCiAzIGZpbGVzIGNoYW5nZWQsIDE4IGluc2VydGlvbnMoKyksIDggZGVsZXRp b25zKC0pCgpkaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZy9udnB0eC9udnB0eC5jYyBiL2djYy9j b25maWcvbnZwdHgvbnZwdHguY2MKaW5kZXggODdlZmMyM2JkOTZhLi45M2RmM2YzMDlkMTgg MTAwNjQ0Ci0tLSBhL2djYy9jb25maWcvbnZwdHgvbnZwdHguY2MKKysrIGIvZ2NjL2NvbmZp Zy9udnB0eC9udnB0eC5jYwpAQCAtNTQ0Miw4ICs1NDQyLDkgQEAgZ2VuX2NvbW1lbnQgKGNv bnN0IGNoYXIgKnMpCiAgIHNpemVfdCBsZW4gPSBzdHJsZW4gKEFTTV9DT01NRU5UX1NUQVJU KSArIHN0cmxlbiAoc2VwKSArIHN0cmxlbiAocykgKyAxOwogICBjaGFyICpjb21tZW50ID0g KGNoYXIgKikgYWxsb2NhIChsZW4pOwogICBzbnByaW50ZiAoY29tbWVudCwgbGVuLCAiJXMl cyVzIiwgQVNNX0NPTU1FTlRfU1RBUlQsIHNlcCwgcyk7Ci0gIHJldHVybiBnZW5fcnR4X0FT TV9JTlBVVF9sb2MgKFZPSURtb2RlLCBnZ2Nfc3RyZHVwIChjb21tZW50KSwKLQkJCQlERUNM X1NPVVJDRV9MT0NBVElPTiAoY2Z1bi0+ZGVjbCkpOworICBydHggYXNtX2lucHV0ID0gZ2Vu X3J0eF9BU01fSU5QVVQgKFZPSURtb2RlLCBnZ2Nfc3RyZHVwIChjb21tZW50KSk7CisgIEFT TV9JTlBVVF9BUlRJRklDSUFMX1AgKGFzbV9pbnB1dCkgPSAxOworICByZXR1cm4gYXNtX2lu cHV0OwogfQogCiAvKiBJbml0aWFsaXplIGFsbCBkZWNsYXJlZCByZWdzIGF0IGZ1bmN0aW9u IGVudHJ5LgpkaWZmIC0tZ2l0IGEvZ2NjL2ZpbmFsLmNjIGIvZ2NjL2ZpbmFsLmNjCmluZGV4 IGE5ODY4ODYxYmQyYy4uZmVlNTEyODY5NDgyIDEwMDY0NAotLS0gYS9nY2MvZmluYWwuY2MK KysrIGIvZ2NjL2ZpbmFsLmNjCkBAIC0yNjQyLDE1ICsyNjQyLDIxIEBAIGZpbmFsX3NjYW5f aW5zbl8xIChydHhfaW5zbiAqaW5zbiwgRklMRSAqZmlsZSwgaW50IG9wdGltaXplX3AgQVRU UklCVVRFX1VOVVNFRCwKIAkgICAgaWYgKHN0cmluZ1swXSkKIAkgICAgICB7CiAJCWV4cGFu ZGVkX2xvY2F0aW9uIGxvYzsKKwkJYm9vbCB1bmtub3duX2xvY19wCisJCSAgPSBBU01fSU5Q VVRfU09VUkNFX0xPQ0FUSU9OIChib2R5KSA9PSBVTktOT1dOX0xPQ0FUSU9OOwogCi0JCWFw cF9lbmFibGUgKCk7Ci0JCWxvYyA9IGV4cGFuZF9sb2NhdGlvbiAoQVNNX0lOUFVUX1NPVVJD RV9MT0NBVElPTiAoYm9keSkpOwotCQlpZiAoKmxvYy5maWxlICYmIGxvYy5saW5lKQotCQkg IGZwcmludGYgKGFzbV9vdXRfZmlsZSwgIiVzICVpIFwiJXNcIiAxXG4iLAotCQkJICAgQVNN X0NPTU1FTlRfU1RBUlQsIGxvYy5saW5lLCBsb2MuZmlsZSk7CisJCWlmICghQVNNX0lOUFVU X0FSVElGSUNJQUxfUCAoYm9keSkpCisJCSAgYXBwX2VuYWJsZSAoKTsKKwkJaWYgKCF1bmtu b3duX2xvY19wKQorCQkgIHsKKwkJICAgIGxvYyA9IGV4cGFuZF9sb2NhdGlvbiAoQVNNX0lO UFVUX1NPVVJDRV9MT0NBVElPTiAoYm9keSkpOworCQkgICAgaWYgKCpsb2MuZmlsZSAmJiBs b2MubGluZSkKKwkJICAgICAgZnByaW50ZiAoYXNtX291dF9maWxlLCAiJXMgJWkgXCIlc1wi IDFcbiIsCisJCQkgICAgICAgQVNNX0NPTU1FTlRfU1RBUlQsIGxvYy5saW5lLCBsb2MuZmls ZSk7CisJCSAgfQogCQlmcHJpbnRmIChhc21fb3V0X2ZpbGUsICJcdCVzXG4iLCBzdHJpbmcp OwogI2lmIEhBVkVfQVNfTElORV9aRVJPCi0JCWlmICgqbG9jLmZpbGUgJiYgbG9jLmxpbmUp CisJCWlmICghdW5rbm93bl9sb2NfcCAmJiAqbG9jLmZpbGUgJiYgbG9jLmxpbmUpCiAJCSAg ZnByaW50ZiAoYXNtX291dF9maWxlLCAiJXMgMCBcIlwiIDJcbiIsIEFTTV9DT01NRU5UX1NU QVJUKTsKICNlbmRpZgogCSAgICAgIH0KZGlmZiAtLWdpdCBhL2djYy9ydGwuaCBiL2djYy9y dGwuaAppbmRleCA5ZGYyZmFiNjIyZTcuLjNkN2NjMmJlNDVjNCAxMDA2NDQKLS0tIGEvZ2Nj L3J0bC5oCisrKyBiL2djYy9ydGwuaApAQCAtMzI1LDYgKzMyNSw3IEBAIHN0cnVjdCBHVFko KGRlc2MoIjAiKSwgdGFnKCIwIiksCiAgICAgIDEgaW4gYSBWQUxVRSBpcyBTUF9CQVNFRF9W QUxVRV9QIGluIGNzZWxpYi5jYy4KICAgICAgMSBpbiBhIFNVQlJFRyBnZW5lcmF0ZWQgYnkg TFJBIGZvciByZWxvYWQgaW5zbnMuCiAgICAgIDEgaW4gYSBSRUcgaWYgdGhpcyBpcyBhIHN0 YXRpYyBjaGFpbiByZWdpc3Rlci4KKyAgICAgMSBpbiBhbiBBU01fSU5QVVQgaWYgaXQgaXMg Y29tcGlsZXItZ2VuZXJhdGVkLgogICAgICBEdW1wZWQgYXMgIi9qIiBpbiBSVEwgZHVtcHMu ICAqLwogICB1bnNpZ25lZCBpbnQganVtcCA6IDE7CiAgIC8qIEluIGEgQ09ERV9MQUJFTCwg cGFydCBvZiB0aGUgdHdvLWJpdCBhbHRlcm5hdGUgZW50cnkgZmllbGQuCkBAIC0yNTkyLDYg KzI1OTMsOCBAQCBkbyB7CQkJCQkJCQkgICAgICAgIFwKICNkZWZpbmUgQVNNX09QRVJBTkRT X0xBQkVMKFJUWCwgTikgWENWRUNFWFAgKFJUWCwgNSwgTiwgQVNNX09QRVJBTkRTKQogI2Rl ZmluZSBBU01fT1BFUkFORFNfU09VUkNFX0xPQ0FUSU9OKFJUWCkgWENVSU5UIChSVFgsIDYs IEFTTV9PUEVSQU5EUykKICNkZWZpbmUgQVNNX0lOUFVUX1NPVVJDRV9MT0NBVElPTihSVFgp IFhDVUlOVCAoUlRYLCAxLCBBU01fSU5QVVQpCisjZGVmaW5lIEFTTV9JTlBVVF9BUlRJRklD SUFMX1AoUlRYKSBcCisgIChSVExfRkxBR19DSEVDSzEgKCJBU01fSU5QVVRfQVJUSUZJQ0lB TF9QIiwgKFJUWCksIEFTTV9JTlBVVCktPmp1bXApCiAKIC8qIDEgaWYgUlRYIGlzIGEgbWVt IHRoYXQgaXMgc3RhdGljYWxseSBhbGxvY2F0ZWQgaW4gcmVhZC1vbmx5IG1lbW9yeS4gICov CiAjZGVmaW5lIE1FTV9SRUFET05MWV9QKFJUWCkgXAo= --------------ZRFank7mkFdUyD0oQUd6ggXQ--