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 [170.10.129.124]) by sourceware.org (Postfix) with ESMTPS id AC3013858C00 for ; Tue, 7 Feb 2023 14:08:02 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org AC3013858C00 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=redhat.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=redhat.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1675778882; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type; bh=1cx9kzkXR6prYEQQA9vCeI9Y/TheeVmk7+6XH2x0xrQ=; b=JWpVikWQNheHwls0vd9NbNl+efPorvc6SotL58nsDvgmqY6PKXTYyHg9DIAm6DANwOcehB 7EX5BrFpw/mH+VUgv16AOgLR87U5wuKyEibgTZoMU8Mo7VfmuGrHMhTB09kcHrqUGfdesg cU2zigVxJdMSOCtF/22lcJexTcs3m/Y= Received: from mail-il1-f197.google.com (mail-il1-f197.google.com [209.85.166.197]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_128_GCM_SHA256) id us-mta-441-O8-GgzgKMfeD83ffpPnazA-1; Tue, 07 Feb 2023 09:08:00 -0500 X-MC-Unique: O8-GgzgKMfeD83ffpPnazA-1 Received: by mail-il1-f197.google.com with SMTP id n18-20020a056e02101200b0030f2b79c2ffso10638553ilj.20 for ; Tue, 07 Feb 2023 06:08:00 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=subject:from:to:content-language:user-agent:mime-version:date :message-id:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=nMWUYLS+031T3ni4d1l6UYwHVSy1SFEOnQAlVKtfb3I=; b=oz3+YLILQOksUrSG7lCzT7YeRL2UrdRGNs5lCKsl2CG7mGPyfPA+wLS6pnW8dzuVap jdu9mEzeWyGLjgDyeGFNYnMRPI4ccbpzr1RvESMKkSPC8xsEElH0o8qdWLNAPKFaz+wo 6HHiBVE53qS0OHAYPKclIQF09NU+WC3HrGJBKJpiDauk5LN35wxpXzK8XbP9DWqMTCnr Z8Bjx41SCCOhkGHqDAS8YtwqOGAOIGtKb8eILxXLFj8ZImkWGdnKiqbC1n8epnR/77ph mq0o6VHKr7u+DiOZvGLN8HqpRRG5k4dWYXM77+3RPvMIAgPAhT0b3+Av+ZIkDMtNygin 7A9A== X-Gm-Message-State: AO0yUKW7Vh28DIPMjkEuBt6kpQbzMsjD/BLZnQH72YkXZCLZnFzon+ho V3eImbs211cAHY1kd8nwlB3iYJjtxSqMjHsiUU23eGYj/+rzOLVVsk/yNRKiEW8uqb97uLgoiwr oWU5eOwLMNNG8cUaYy3ePtZXHBlupM7/xZacfapve2z5QYvJOB+u4b5n4nIOrr+n8UpxY7PyAA7 g= X-Received: by 2002:a92:d1c5:0:b0:313:dfb9:ceb4 with SMTP id u5-20020a92d1c5000000b00313dfb9ceb4mr2641250ilg.8.1675778879050; Tue, 07 Feb 2023 06:07:59 -0800 (PST) X-Google-Smtp-Source: AK7set/hs13IfCij4eS1tzFruNPoGfDhtwg6pgDr0mgBegFNkvMjPIov/BzRw52lY6089EZYV05IMw== X-Received: by 2002:a92:d1c5:0:b0:313:dfb9:ceb4 with SMTP id u5-20020a92d1c5000000b00313dfb9ceb4mr2641236ilg.8.1675778878671; Tue, 07 Feb 2023 06:07:58 -0800 (PST) Received: from [192.168.1.104] (23-233-12-120.cpe.pppoe.ca. [23.233.12.120]) by smtp.gmail.com with ESMTPSA id p18-20020a92da52000000b00313e8fd977bsm241482ilq.62.2023.02.07.06.07.57 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 07 Feb 2023 06:07:57 -0800 (PST) Message-ID: <7ee31afa-d5c5-3d34-85e6-6034165876de@redhat.com> Date: Tue, 7 Feb 2023 09:07:56 -0500 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.6.0 To: "gcc-patches@gcc.gnu.org" From: Vladimir Makarov Subject: [pushed] [PR103541] RA: Implement reuse of equivalent memory for caller saves optimization X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: multipart/mixed; boundary="------------UKGOcJ0b60Uc057SJlkTpyjg" Content-Language: en-US X-Spam-Status: No, score=-11.9 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,GIT_PATCH_0,KAM_SHORT,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_NONE,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. --------------UKGOcJ0b60Uc057SJlkTpyjg Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit The following patch solves https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103541 The patch was successfully bootstrapped and tested on x86-64, aarch64, and ppc64le. --------------UKGOcJ0b60Uc057SJlkTpyjg Content-Type: text/x-patch; charset=UTF-8; name="pr103541.patch" Content-Disposition: attachment; filename="pr103541.patch" Content-Transfer-Encoding: base64 Y29tbWl0IGY2NjFjMGJiNjM3MWYzNTU5NjZhNjdiNWNlNzEzOThlODA3OTI5NDgKQXV0aG9yOiBW bGFkaW1pciBOLiBNYWthcm92IDx2bWFrYXJvdkByZWRoYXQuY29tPgpEYXRlOiAgIFR1ZSBGZWIg NyAwODoyNzozNiAyMDIzIC0wNTAwCgogICAgUkE6IEltcGxlbWVudCByZXVzZSBvZiBlcXVpdmFs ZW50IG1lbW9yeSBmb3IgY2FsbGVyIHNhdmVzIG9wdGltaXphdGlvbgogICAgCiAgICBUaGUgdGVz dCBjYXNlIHNob3dzIG9wcG9ydHVuaXR5IHRvIHJldXNlIG1lbW9yeSB3aXRoIGNvbnN0YW50IGFk ZHJlc3MgZm9yCiAgICBjYWxsZXIgc2F2ZXMgb3B0aW1pemF0aW9uIGZvciBjb25zdGFudCBvciBw dXJlIGZ1bmN0aW9uIGNhbGwuICBUaGUgcGF0Y2gKICAgIGltcGxlbWVudHMgdGhlIG1lbW9yeSBy ZXVzZS4KICAgIAogICAgICAgICAgICBQUiBydGwtb3B0aW1pemF0aW9uLzEwMzU0MQogICAgCiAg ICBnY2MvQ2hhbmdlTG9nOgogICAgCiAgICAgICAgICAgICogaXJhLmggKHN0cnVjdCBpcmFfcmVn X2VxdWl2X3MpOiBBZGQgbmV3IGZpZWxkIGNhbGxlcl9zYXZlX3AuCiAgICAgICAgICAgICogaXJh LmNjICh2YWxpZGF0ZV9lcXVpdl9tZW0pOiBDaGVjayBtZW1yZWYgYWRkcmVzcyB2YXJpYW5jZS4K ICAgICAgICAgICAgKHVwZGF0ZV9lcXVpdl9yZWdzKTogRGVmaW5lIGNhbGxlciBzYXZlIGVxdWl2 YWxlbmNlIGZvcgogICAgICAgICAgICB2YWxpZF9jb21iaW5lLgogICAgICAgICAgICAoc2V0dXBf cmVnX2VxdWl2KTogQ2xlYXIgZGVmaW5lZF9wIGZsYWcgZm9yIGNhbGxlciBzYXZlIGVxdWl2YWxl bmNlLgogICAgICAgICAgICAqIGxyYS1jb25zdHJhaW50cy5jYyAobHJhX2NvcHlfcmVnX2VxdWl2 KTogQWRkIG5ldyBhcmcKICAgICAgICAgICAgY2FsbF9zYXZlX3AuICBVc2UgY2FsbGVyIHNhdmUg ZXF1aXZhbGVuY2UgZGVwZW5kaW5nIG9uIHRoZSBhcmcuCiAgICAgICAgICAgIChzcGxpdF9yZWcp OiBBZGp1c3QgdGhlIGNhbGwuCiAgICAKICAgIGdjYy90ZXN0c3VpdGUvQ2hhbmdlTG9nOgogICAg CiAgICAgICAgICAgICogZ2NjLnRhcmdldC9pMzg2L3ByMTAzNTQxLmM6IE5ldy4KCmRpZmYgLS1n aXQgYS9nY2MvaXJhLmNjIGIvZ2NjL2lyYS5jYwppbmRleCA2NmRmMDNlOGE1OS4uYzZlZTQ2Mjg2 YmMgMTAwNjQ0Ci0tLSBhL2djYy9pcmEuY2MKKysrIGIvZ2NjL2lyYS5jYwpAQCAtMzA3MCw2ICsz MDcwLDggQEAgdmFsaWRhdGVfZXF1aXZfbWVtX2Zyb21fc3RvcmUgKHJ0eCBkZXN0LCBjb25zdF9y dHggc2V0IEFUVFJJQlVURV9VTlVTRUQsCiAgICAgaW5mby0+ZXF1aXZfbWVtX21vZGlmaWVkID0g dHJ1ZTsKIH0KIAorc3RhdGljIGludCBlcXVpdl9pbml0X3Zhcmllc19wIChydHggeCk7CisKIGVu dW0gdmFsaWRfZXF1aXYgeyB2YWxpZF9ub25lLCB2YWxpZF9jb21iaW5lLCB2YWxpZF9yZWxvYWQg fTsKIAogLyogVmVyaWZ5IHRoYXQgbm8gc3RvcmUgYmV0d2VlbiBTVEFSVCBhbmQgdGhlIGRlYXRo IG9mIFJFRyBpbnZhbGlkYXRlcwpAQCAtMzExMyw3ICszMTE1LDggQEAgdmFsaWRhdGVfZXF1aXZf bWVtIChydHhfaW5zbiAqc3RhcnQsIHJ0eCByZWcsIHJ0eCBtZW1yZWYpCiAJICAgICBiZWVuIGNo YW5nZWQgYW5kIGFsbCBoZWxsIGJyZWFrcyBsb29zZS4gICovCiAJICByZXQgPSB2YWxpZF9jb21i aW5lOwogCSAgaWYgKCFNRU1fUkVBRE9OTFlfUCAobWVtcmVmKQotCSAgICAgICYmICFSVExfQ09O U1RfT1JfUFVSRV9DQUxMX1AgKGluc24pKQorCSAgICAgICYmICghUlRMX0NPTlNUX09SX1BVUkVf Q0FMTF9QIChpbnNuKQorCQkgIHx8IGVxdWl2X2luaXRfdmFyaWVzX3AgKFhFWFAgKG1lbXJlZiwg MCkpKSkKIAkgICAgcmV0dXJuIHZhbGlkX25vbmU7CiAJfQogCkBAIC0zNzY2LDcgKzM3NjksMTgg QEAgdXBkYXRlX2VxdWl2X3JlZ3MgKHZvaWQpCiAJCXsKIAkJICByZXBsYWNlbWVudCA9IGNvcHlf cnR4IChTRVRfU1JDIChzZXQpKTsKIAkJICBpZiAodmFsaWRpdHkgPT0gdmFsaWRfcmVsb2FkKQot CQkgICAgbm90ZSA9IHNldF91bmlxdWVfcmVnX25vdGUgKGluc24sIFJFR19FUVVJViwgcmVwbGFj ZW1lbnQpOworCQkgICAgeworCQkgICAgICBub3RlID0gc2V0X3VuaXF1ZV9yZWdfbm90ZSAoaW5z biwgUkVHX0VRVUlWLCByZXBsYWNlbWVudCk7CisJCSAgICB9CisJCSAgZWxzZQorCQkgICAgewor CQkgICAgICAvKiBXZSBzdGlsbCBjYW4gdXNlIHRoaXMgZXF1aXZhbGVuY2UgZm9yIGNhbGxlciBz YXZlCisJCQkgb3B0aW1pemF0aW9uIGluIExSQS4gIE1hcmsgdGhpcy4gICovCisJCSAgICAgIGly YV9yZWdfZXF1aXZbcmVnbm9dLmNhbGxlcl9zYXZlX3AgPSB0cnVlOworCQkgICAgICBpcmFfcmVn X2VxdWl2W3JlZ25vXS5pbml0X2luc25zCisJCQk9IGdlbl9ydHhfSU5TTl9MSVNUIChWT0lEbW9k ZSwgaW5zbiwKKwkJCQkJICAgICBpcmFfcmVnX2VxdWl2W3JlZ25vXS5pbml0X2luc25zKTsKKwkJ ICAgIH0KIAkJfQogCSAgICB9CiAKQEAgLTQxNTYsNyArNDE3MCw3IEBAIHNldHVwX3JlZ19lcXVp diAodm9pZCkKIAkJICAgbGVnaXRpbWF0ZSwgd2UgaWdub3JlIHN1Y2ggUkVHX0VRVUlWIG5vdGVz LiAgKi8KIAkJaWYgKG1lbW9yeV9vcGVyYW5kICh4LCBWT0lEbW9kZSkpCiAJCSAgewotCQkgICAg aXJhX3JlZ19lcXVpdltpXS5kZWZpbmVkX3AgPSB0cnVlOworCQkgICAgaXJhX3JlZ19lcXVpdltp XS5kZWZpbmVkX3AgPSAhaXJhX3JlZ19lcXVpdltpXS5jYWxsZXJfc2F2ZV9wOwogCQkgICAgaXJh X3JlZ19lcXVpdltpXS5tZW1vcnkgPSB4OwogCQkgICAgY29udGludWU7CiAJCSAgfQpkaWZmIC0t Z2l0IGEvZ2NjL2lyYS5oIGIvZ2NjL2lyYS5oCmluZGV4IDU4YjUwZGJlOGEyLi4zZDM1MDI1YTQ2 ZSAxMDA2NDQKLS0tIGEvZ2NjL2lyYS5oCisrKyBiL2djYy9pcmEuaApAQCAtMTc1LDggKzE3NSwx MSBAQCBleHRlcm4gc3RydWN0IHRhcmdldF9pcmEgKnRoaXNfdGFyZ2V0X2lyYTsKIC8qIE1ham9y IHN0cnVjdHVyZSBkZXNjcmliaW5nIGVxdWl2YWxlbmNlIGluZm8gZm9yIGEgcHNldWRvLiAgKi8K IHN0cnVjdCBpcmFfcmVnX2VxdWl2X3MKIHsKLSAgLyogVHJ1ZSBpZiB3ZSBjYW4gdXNlIHRoaXMg ZXF1aXZhbGVuY2UuICAqLworICAvKiBUcnVlIGlmIHdlIGNhbiB1c2UgdGhpcyBhcyBhIGdlbmVy YWwgZXF1aXZhbGVuY2UuICAqLwogICBib29sIGRlZmluZWRfcDsKKyAgLyogVHJ1ZSBpZiB3ZSBj YW4gdXNlIHRoaXMgZXF1aXZhbGVuY2Ugb25seSBmb3IgY2FsbGVyIHNhdmUvcmVzdG9yZQorICAg ICBsb2NhdGlvbi4gICovCisgIGJvb2wgY2FsbGVyX3NhdmVfcDsKICAgLyogVHJ1ZSBpZiB0aGUg dXNhZ2Ugb2YgdGhlIGVxdWl2YWxlbmNlIGlzIHByb2ZpdGFibGUuICAqLwogICBib29sIHByb2Zp dGFibGVfcDsKICAgLyogRXF1aXYuIG1lbW9yeSwgY29uc3RhbnQsIGludmFyaWFudCwgYW5kIGlu aXRpYWxpemluZyBpbnNucyBvZgpkaWZmIC0tZ2l0IGEvZ2NjL2xyYS1jb25zdHJhaW50cy5jYyBi L2djYy9scmEtY29uc3RyYWludHMuY2MKaW5kZXggN2JmZmJjMDdlZTIuLmRkNGY2OGJiZmMwIDEw MDY0NAotLS0gYS9nY2MvbHJhLWNvbnN0cmFpbnRzLmNjCisrKyBiL2djYy9scmEtY29uc3RyYWlu dHMuY2MKQEAgLTU3NzEsMTQgKzU3NzEsMTcgQEAgY2hvb3NlX3NwbGl0X2NsYXNzIChlbnVtIHJl Z19jbGFzcyBhbGxvY25vX2NsYXNzLAogICByZXR1cm4gYmVzdF9jbDsKIH0KIAotLyogQ29weSBh bnkgZXF1aXZhbGVuY2UgaW5mb3JtYXRpb24gZnJvbSBPUklHSU5BTF9SRUdOTyB0byBORVdfUkVH Tk8uCi0gICBJdCBvbmx5IG1ha2VzIHNlbnNlIHRvIGNhbGwgdGhpcyBmdW5jdGlvbiBpZiBORVdf UkVHTk8gaXMgYWx3YXlzCi0gICBlcXVhbCB0byBPUklHSU5BTF9SRUdOTy4gICovCisvKiBDb3B5 IGFueSBlcXVpdmFsZW5jZSBpbmZvcm1hdGlvbiBmcm9tIE9SSUdJTkFMX1JFR05PIHRvIE5FV19S RUdOTy4gIEl0IG9ubHkKKyAgIG1ha2VzIHNlbnNlIHRvIGNhbGwgdGhpcyBmdW5jdGlvbiBpZiBO RVdfUkVHTk8gaXMgYWx3YXlzIGVxdWFsIHRvCisgICBPUklHSU5BTF9SRUdOTy4gIFNldCB1cCBk ZWZpbmVkX3AgZmxhZyB3aGVuIGNhbGxlcl9zYXZlX3AgZmxhZyBpcyBzZXQgdXAgYW5kCisgICBD QUxMX1NBVkVfUCBpcyB0cnVlLiAgKi8KIAogc3RhdGljIHZvaWQKLWxyYV9jb3B5X3JlZ19lcXVp diAodW5zaWduZWQgaW50IG5ld19yZWdubywgdW5zaWduZWQgaW50IG9yaWdpbmFsX3JlZ25vKQor bHJhX2NvcHlfcmVnX2VxdWl2ICh1bnNpZ25lZCBpbnQgbmV3X3JlZ25vLCB1bnNpZ25lZCBpbnQg b3JpZ2luYWxfcmVnbm8sCisJCSAgICBib29sIGNhbGxfc2F2ZV9wKQogewotICBpZiAoIWlyYV9y ZWdfZXF1aXZbb3JpZ2luYWxfcmVnbm9dLmRlZmluZWRfcCkKKyAgaWYgKCFpcmFfcmVnX2VxdWl2 W29yaWdpbmFsX3JlZ25vXS5kZWZpbmVkX3AKKyAgICAgICYmICEoY2FsbF9zYXZlX3AgJiYgaXJh X3JlZ19lcXVpdltvcmlnaW5hbF9yZWdub10uY2FsbGVyX3NhdmVfcCkpCiAgICAgcmV0dXJuOwog CiAgIGlyYV9leHBhbmRfcmVnX2VxdWl2ICgpOwpAQCAtNTk1OCw3ICs1OTYxLDcgQEAgc3BsaXRf cmVnIChib29sIGJlZm9yZV9wLCBpbnQgb3JpZ2luYWxfcmVnbm8sIHJ0eF9pbnNuICppbnNuLAog ICAgICByZW1hdGVyaWFsaXppbmcgdGhlIG9yaWdpbmFsIHZhbHVlIGluc3RlYWQgb2Ygc3BpbGxp bmcgdG8gdGhlIHN0YWNrLiAgKi8KICAgaWYgKCFIQVJEX1JFR0lTVEVSX05VTV9QIChvcmlnaW5h bF9yZWdubykKICAgICAgICYmIG1vZGUgPT0gUFNFVURPX1JFR05PX01PREUgKG9yaWdpbmFsX3Jl Z25vKSkKLSAgICBscmFfY29weV9yZWdfZXF1aXYgKG5ld19yZWdubywgb3JpZ2luYWxfcmVnbm8p OworICAgIGxyYV9jb3B5X3JlZ19lcXVpdiAobmV3X3JlZ25vLCBvcmlnaW5hbF9yZWdubywgY2Fs bF9zYXZlX3ApOwogICBscmFfcmVnX2luZm9bbmV3X3JlZ25vXS5yZXN0b3JlX3J0eCA9IHJlZ25v X3JlZ19ydHhbb3JpZ2luYWxfcmVnbm9dOwogICBiaXRtYXBfc2V0X2JpdCAoJmxyYV9zcGxpdF9y ZWdzLCBuZXdfcmVnbm8pOwogICBpZiAodG8gIT0gTlVMTCkKZGlmZiAtLWdpdCBhL2djYy90ZXN0 c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3ByMTAzNTQxLmMgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJn ZXQvaTM4Ni9wcjEwMzU0MS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw Li43MmIyNTdkNDJlZQotLS0gL2Rldi9udWxsCisrKyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdl dC9pMzg2L3ByMTAzNTQxLmMKQEAgLTAsMCArMSwxNCBAQAorLyogUFIgcnRsLW9wdGltaXphdGlv bi8xMDM1NDEgKi8KKy8qIHsgZGctZG8gY29tcGlsZSAgeyB0YXJnZXQgeDg2XzY0LSotKiB9IH0g Ki8KKy8qIHsgZGctb3B0aW9ucyAiLU8yIiB9ICovCisKK2Zsb2F0IGE7CitfX2F0dHJpYnV0ZV9f KChjb25zdCkpIGZsb2F0IGZvbyAoZmxvYXQpOworCitmbG9hdAordGVzdCgpCit7CisgICAgICAg IHJldHVybiBhICsgZm9vKGEpICsgYTsKK30KKworLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1i bGVyLW5vdCAiXFxcKCVyc3BcXFwpIiB9IH0gKi8K --------------UKGOcJ0b60Uc057SJlkTpyjg--