From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by sourceware.org (Postfix) with ESMTP id 573223858D3C for ; Wed, 16 Feb 2022 11:12:36 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 573223858D3C Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 083C7D6E; Wed, 16 Feb 2022 03:12:36 -0800 (PST) Received: from [10.57.12.187] (unknown [10.57.12.187]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 8549C3F66F; Wed, 16 Feb 2022 03:12:35 -0800 (PST) Content-Type: multipart/mixed; boundary="------------e3cRp40fvtDVYV8rE5j2v3QW" Message-ID: <9eb88215-8d5c-c39d-7aae-d2f8aa2d8795@arm.com> Date: Wed, 16 Feb 2022 11:12:27 +0000 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Thunderbird/91.6.0 Content-Language: en-US To: "gcc-patches@gcc.gnu.org" Cc: Richard Sandiford , Richard Biener From: "Andre Vieira (lists)" Subject: [PATCH][gcc][middle-end] PR104498: Fix comparing symbol reference X-Spam-Status: No, score=-10.8 required=5.0 tests=BAYES_00, BODY_8BITS, GIT_PATCH_0, KAM_DMARC_STATUS, KAM_STOCKGEN, 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: Wed, 16 Feb 2022 11:12:38 -0000 This is a multi-part message in MIME format. --------------e3cRp40fvtDVYV8rE5j2v3QW Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Hi, As reported on PR104498, the issue here is that when compare_base_symbol_refs swaps x and y but doesn't take that into account when computing the distance. This patch makes sure that if x and y are swapped, we correct the distance computation by multiplying it by -1 to end up with the correct expected result of the original Y_BASE - X_BASE. Bootstrapped and regression tested on aarch64-none-linux. OK for trunk? gcc/ChangeLog:         PR middle-end/104498         * alias.cc (compare_base_symbol_refs): Correct distance computation when         swapping x and y. --------------e3cRp40fvtDVYV8rE5j2v3QW Content-Type: text/plain; charset=UTF-8; name="pr104498.patch" Content-Disposition: attachment; filename="pr104498.patch" Content-Transfer-Encoding: base64 ZGlmZiAtLWdpdCBhL2djYy9hbGlhcy5jYyBiL2djYy9hbGlhcy5jYwppbmRleCAzZmQ3MWNm ZjJlMmI0ODhiYzM5ZmNmN2Q5MzdlMTE4Yjk2ZjQ5MWFiLi44YzA4NDUyZTBhY2ZjYmYxYmZk OGZkMmU4Y2Q0MjBiNWI5MjlkNmI0IDEwMDY0NAotLS0gYS9nY2MvYWxpYXMuY2MKKysrIGIv Z2NjL2FsaWFzLmNjCkBAIC0yMTk1LDYgKzIxOTUsNyBAQCBjb21wYXJlX2Jhc2Vfc3ltYm9s X3JlZnMgKGNvbnN0X3J0eCB4X2Jhc2UsIGNvbnN0X3J0eCB5X2Jhc2UsCiAgIHRyZWUgeF9k ZWNsID0gU1lNQk9MX1JFRl9ERUNMICh4X2Jhc2UpOwogICB0cmVlIHlfZGVjbCA9IFNZTUJP TF9SRUZfREVDTCAoeV9iYXNlKTsKICAgYm9vbCBiaW5kc19kZWYgPSB0cnVlOworICBib29s IHN3YXAgPSBmYWxzZTsKIAogICBpZiAoWFNUUiAoeF9iYXNlLCAwKSA9PSBYU1RSICh5X2Jh c2UsIDApKQogICAgIHJldHVybiAxOwpAQCAtMjIwNCw2ICsyMjA1LDcgQEAgY29tcGFyZV9i YXNlX3N5bWJvbF9yZWZzIChjb25zdF9ydHggeF9iYXNlLCBjb25zdF9ydHggeV9iYXNlLAog ICAgIHsKICAgICAgIGlmICgheF9kZWNsKQogCXsKKwkgIHN3YXAgPSB0cnVlOwogCSAgc3Rk Ojpzd2FwICh4X2RlY2wsIHlfZGVjbCk7CiAJICBzdGQ6OnN3YXAgKHhfYmFzZSwgeV9iYXNl KTsKIAl9CkBAIC0yMjM4LDggKzIyNDAsOCBAQCBjb21wYXJlX2Jhc2Vfc3ltYm9sX3JlZnMg KGNvbnN0X3J0eCB4X2Jhc2UsIGNvbnN0X3J0eCB5X2Jhc2UsCiAgICAgICBpZiAoU1lNQk9M X1JFRl9CTE9DSyAoeF9iYXNlKSAhPSBTWU1CT0xfUkVGX0JMT0NLICh5X2Jhc2UpKQogCXJl dHVybiAwOwogICAgICAgaWYgKGRpc3RhbmNlKQotCSpkaXN0YW5jZSArPSAoU1lNQk9MX1JF Rl9CTE9DS19PRkZTRVQgKHlfYmFzZSkKLQkJICAgICAgLSBTWU1CT0xfUkVGX0JMT0NLX09G RlNFVCAoeF9iYXNlKSk7CisJKmRpc3RhbmNlICs9IChzd2FwID8gLTEgOiAxKSAqIChTWU1C T0xfUkVGX0JMT0NLX09GRlNFVCAoeV9iYXNlKQorCQkJCQktIFNZTUJPTF9SRUZfQkxPQ0tf T0ZGU0VUICh4X2Jhc2UpKTsKICAgICAgIHJldHVybiBiaW5kc19kZWYgPyAxIDogLTE7CiAg ICAgfQogICAvKiBFaXRoZXIgdGhlIHN5bWJvbHMgYXJlIGVxdWFsICh2aWEgYWxpYXNpbmcp IG9yIHRoZXkgcmVmZXIgdG8K --------------e3cRp40fvtDVYV8rE5j2v3QW--