From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-qt1-x82f.google.com (mail-qt1-x82f.google.com [IPv6:2607:f8b0:4864:20::82f]) by sourceware.org (Postfix) with ESMTPS id 8FF9D3858D28 for ; Mon, 17 Apr 2023 21:27:41 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 8FF9D3858D28 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=gmail.com Received: by mail-qt1-x82f.google.com with SMTP id fv6so13391622qtb.9 for ; Mon, 17 Apr 2023 14:27:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1681766860; x=1684358860; h=to:subject:message-id:date:from:mime-version:from:to:cc:subject :date:message-id:reply-to; bh=tFCQB7kmWd7yZvOmPeRMTVCe66bkmMVpwtWBts+NcEQ=; b=sIm3dFN5jWva4uD/40G8npynpETf58Mch5sUNfKLsmrUzHm1vAYzHsQGjEGCFaZzep PoDRmdDtxr98LQPtKn7cggJfhUKjf7c0q6F2nFdrHUCw4BZY/xZCB77K2sAFYa3Mu9c0 Fx7MJ+b84zh55XDIYP5g3rHSsiYhUznerWb8oF7WagUodRrfSWAM+Iu0G+9hpavNch88 98K62UCDgM2W1OpKvejNwxIyOtvur+Sa1RXkKjjG92TohgGIaGLZIp91qrvp/oIkHqgf 04jgU+zLryrdojb3N5gutfaghvrocO6Lctfm7pqj7jHIe8Dp4lkN8Y7yzZZqw5ZXXoHd hB3Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1681766860; x=1684358860; h=to:subject:message-id:date:from:mime-version:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=tFCQB7kmWd7yZvOmPeRMTVCe66bkmMVpwtWBts+NcEQ=; b=htqCcNc/HA6elqnLgRPVeOdKUTJU3Ck1noGnlYR8TuheIdAtNeOmf1D3c2DN7Vw4s2 wht1fb970VTGPcbm/6zGuwsXC5p5EtA2tDdXaVMoMG7kHd9eZPnd2com504hyuXxNpRV 9+IeYm2aikoAaPcFzkaB6Gkpq7eDrrGQZgWgB9cQJCeTiB/l2hFQbuEKByuRLsxWlGCX B+9XqhBuC34Kn3p0CVcuy/s13+gWFMaxFG+dB1UQdyGpLjxp+LdeBhqcw4Os72p1Yqq9 4x/pqUlY2IUi7k3igOKMkYWs4TpdaMY2W7Q19DzrE1QUhyMergHQ+5viIluIL++fNhcL YVFQ== X-Gm-Message-State: AAQBX9fcjN6bmfgYO5bhXKCsLO4Rd3XhCQ7Z2+nqD8iDWeFAeOmS943g wu93ikSsxdcpdJhiUe/LK/HNuCyKKqAELuax03obdeMa0w/tJw== X-Google-Smtp-Source: AKy350Yhhff88FMmgDnAJ6bkB4MhDYbBIKxUDMYrlyRshygpFikw5VnfBESZY8JLLY8v1dk3WN8RZ3n4+Uxd5N1mErU= X-Received: by 2002:a05:6214:2504:b0:537:7d76:ea7c with SMTP id gf4-20020a056214250400b005377d76ea7cmr22314858qvb.25.1681766860375; Mon, 17 Apr 2023 14:27:40 -0700 (PDT) MIME-Version: 1.0 From: Uros Bizjak Date: Mon, 17 Apr 2023 23:27:28 +0200 Message-ID: Subject: [PATCH] Introduce VIRTUAL_REGISTER_P and VIRTUAL_REGISTER_NUM_P predicates To: "gcc-patches@gcc.gnu.org" Content-Type: multipart/mixed; boundary="0000000000004f0bc605f98edc53" X-Spam-Status: No, score=-7.8 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,GIT_PATCH_0,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS,TXREP,T_SCC_BODY_TEXT_LINE 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: --0000000000004f0bc605f98edc53 Content-Type: text/plain; charset="UTF-8" These two predicates are similar to existing HARD_REGISTER_P and HARD_REGISTER_NUM_P predicates and return 1 if the given register corresponds to a virtual register. gcc/ChangeLog: * rtl.h (VIRTUAL_REGISTER_P): New predicate. (VIRTUAL_REGISTER_NUM_P): Ditto. (REGNO_PTR_FRAME_P): Use VIRTUAL_REGISTER_NUM_P predicate. * expr.cc (force_operand): Use VIRTUAL_REGISTER_P predicate. * function.cc (instantiate_decl_rtl): Ditto. * rtlanal.cc (rtx_addr_can_trap_p_1): Ditto. (nonzero_address_p): Ditto. (refers_to_regno_p): Use VIRTUAL_REGISTER_NUM_P predicate. Bootstrapped and regression tested on x86_64-linux-gnu {,-m32}. OK for master? Uros. --0000000000004f0bc605f98edc53 Content-Type: text/plain; charset="US-ASCII"; name="p.diff.txt" Content-Disposition: attachment; filename="p.diff.txt" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_lglcjvpj0 ZGlmZiAtLWdpdCBhL2djYy9leHByLmNjIGIvZ2NjL2V4cHIuY2MKaW5kZXggZjhmNWNjNWE2Y2Eu Ljc1OGRkYTllYzY4IDEwMDY0NAotLS0gYS9nY2MvZXhwci5jYworKysgYi9nY2MvZXhwci5jYwpA QCAtODE3OCw4ICs4MTc4LDcgQEAgZm9yY2Vfb3BlcmFuZCAocnR4IHZhbHVlLCBydHggdGFyZ2V0 KQogICAgICAgaWYgKGNvZGUgPT0gUExVUyAmJiBDT05TVF9JTlRfUCAob3AyKQogCSAgJiYgR0VU X0NPREUgKFhFWFAgKHZhbHVlLCAwKSkgPT0gUExVUwogCSAgJiYgUkVHX1AgKFhFWFAgKFhFWFAg KHZhbHVlLCAwKSwgMCkpCi0JICAmJiBSRUdOTyAoWEVYUCAoWEVYUCAodmFsdWUsIDApLCAwKSkg Pj0gRklSU1RfVklSVFVBTF9SRUdJU1RFUgotCSAgJiYgUkVHTk8gKFhFWFAgKFhFWFAgKHZhbHVl LCAwKSwgMCkpIDw9IExBU1RfVklSVFVBTF9SRUdJU1RFUikKKwkgICYmIFZJUlRVQUxfUkVHSVNU RVJfUCAoWEVYUCAoWEVYUCAodmFsdWUsIDApLCAwKSkpCiAJewogCSAgcnR4IHRlbXAgPSBleHBh bmRfc2ltcGxlX2Jpbm9wIChHRVRfTU9ERSAodmFsdWUpLCBjb2RlLAogCQkJCQkgIFhFWFAgKFhF WFAgKHZhbHVlLCAwKSwgMCksIG9wMiwKZGlmZiAtLWdpdCBhL2djYy9mdW5jdGlvbi5jYyBiL2dj Yy9mdW5jdGlvbi5jYwppbmRleCBlZGYwYjJlYzZjZi4uZjBhZTY0MTUxMmQgMTAwNjQ0Ci0tLSBh L2djYy9mdW5jdGlvbi5jYworKysgYi9nY2MvZnVuY3Rpb24uY2MKQEAgLTE4MzgsOCArMTgzOCw3 IEBAIGluc3RhbnRpYXRlX2RlY2xfcnRsIChydHggeCkKICAgYWRkciA9IFhFWFAgKHgsIDApOwog ICBpZiAoQ09OU1RBTlRfUCAoYWRkcikKICAgICAgIHx8IChSRUdfUCAoYWRkcikKLQkgICYmIChS RUdOTyAoYWRkcikgPCBGSVJTVF9WSVJUVUFMX1JFR0lTVEVSCi0JICAgICAgfHwgUkVHTk8gKGFk ZHIpID4gTEFTVF9WSVJUVUFMX1JFR0lTVEVSKSkpCisJICAmJiAhVklSVFVBTF9SRUdJU1RFUl9Q IChhZGRyKSkpCiAgICAgcmV0dXJuOwogCiAgIGluc3RhbnRpYXRlX3ZpcnR1YWxfcmVnc19pbl9y dHggKCZYRVhQICh4LCAwKSk7CmRpZmYgLS1naXQgYS9nY2MvcnRsLmggYi9nY2MvcnRsLmgKaW5k ZXggNjA4NTJhZWVjZDguLjJmMjc0OTA0NDRiIDEwMDY0NAotLS0gYS9nY2MvcnRsLmgKKysrIGIv Z2NjL3J0bC5oCkBAIC0xOTcyLDYgKzE5NzIsMTMgQEAgc2V0X3JlZ25vX3JhdyAocnR4IHgsIHVu c2lnbmVkIGludCByZWdubywgdW5zaWduZWQgaW50IG5yZWdzKQogLyogMSBpZiB0aGUgZ2l2ZW4g cmVnaXN0ZXIgbnVtYmVyIFJFR19OTyBjb3JyZXNwb25kcyB0byBhIGhhcmQgcmVnaXN0ZXIuICAq LwogI2RlZmluZSBIQVJEX1JFR0lTVEVSX05VTV9QKFJFR19OTykgKChSRUdfTk8pIDwgRklSU1Rf UFNFVURPX1JFR0lTVEVSKQogCisvKiAxIGlmIHRoZSBnaXZlbiByZWdpc3RlciBSRUcgY29ycmVz cG9uZHMgdG8gYSB2aXJ0dWFsIHJlZ2lzdGVyLiAgKi8KKyNkZWZpbmUgVklSVFVBTF9SRUdJU1RF Ul9QKFJFRykgKFZJUlRVQUxfUkVHSVNURVJfTlVNX1AgKFJFR05PIChSRUcpKSkKKworLyogMSBp ZiB0aGUgZ2l2ZW4gcmVnaXN0ZXIgbnVtYmVyIFJFR19OTyBjb3JyZXNwb25kcyB0byBhIHZpcnR1 YWwgcmVnaXN0ZXIuICAqLworI2RlZmluZSBWSVJUVUFMX1JFR0lTVEVSX05VTV9QKFJFR19OTykJ CQkJCVwKKyAgKElOX1JBTkdFIChSRUdfTk8sIEZJUlNUX1ZJUlRVQUxfUkVHSVNURVIsIExBU1Rf VklSVFVBTF9SRUdJU1RFUikpCisKIC8qIEZvciBhIENPTlNUX0lOVCBydHgsIElOVFZBTCBleHRy YWN0cyB0aGUgaW50ZWdlci4gICovCiAjZGVmaW5lIElOVFZBTChSVFgpIFhDV0lOVCAoUlRYLCAw LCBDT05TVF9JTlQpCiAjZGVmaW5lIFVJTlRWQUwoUlRYKSAoKHVuc2lnbmVkIEhPU1RfV0lERV9J TlQpIElOVFZBTCAoUlRYKSkKQEAgLTQwNzgsOCArNDA4NSw3IEBAIFBVVF9NT0RFIChydHggeCwg bWFjaGluZV9tb2RlIG1vZGUpCiAgICB8fCAoUkVHTlVNKSA9PSBGUkFNRV9QT0lOVEVSX1JFR05V TQkJXAogICAgfHwgKFJFR05VTSkgPT0gSEFSRF9GUkFNRV9QT0lOVEVSX1JFR05VTQlcCiAgICB8 fCAoUkVHTlVNKSA9PSBBUkdfUE9JTlRFUl9SRUdOVU0JCVwKLSAgIHx8ICgoUkVHTlVNKSA+PSBG SVJTVF9WSVJUVUFMX1JFR0lTVEVSCVwKLSAgICAgICAmJiAoUkVHTlVNKSA8PSBMQVNUX1ZJUlRV QUxfUE9JTlRFUl9SRUdJU1RFUikpCisgICB8fCBWSVJUVUFMX1JFR0lTVEVSX05VTV9QIChSRUdO VU0pKQogCiAvKiBSRUdOVU0gbmV2ZXIgcmVhbGx5IGFwcGVhcmluZyBpbiB0aGUgSU5TTiBzdHJl YW0uICAqLwogI2RlZmluZSBJTlZBTElEX1JFR05VTQkJCSh+KHVuc2lnbmVkIGludCkgMCkKZGlm ZiAtLWdpdCBhL2djYy9ydGxhbmFsLmNjIGIvZ2NjL3J0bGFuYWwuY2MKaW5kZXggZTY5ZDJlOGE5 ZjUuLmM5NmE4OGNlYmYxIDEwMDY0NAotLS0gYS9nY2MvcnRsYW5hbC5jYworKysgYi9nY2MvcnRs YW5hbC5jYwpAQCAtNjQzLDggKzY0Myw3IEBAIHJ0eF9hZGRyX2Nhbl90cmFwX3BfMSAoY29uc3Rf cnR4IHgsIHBvbHlfaW50NjQgb2Zmc2V0LCBwb2x5X2ludDY0IHNpemUsCiAJICByZXR1cm4gMTsK IAl9CiAgICAgICAvKiBBbGwgb2YgdGhlIHZpcnR1YWwgZnJhbWUgcmVnaXN0ZXJzIGFyZSBzdGFj ayByZWZlcmVuY2VzLiAgKi8KLSAgICAgIGlmIChSRUdOTyAoeCkgPj0gRklSU1RfVklSVFVBTF9S RUdJU1RFUgotCSAgJiYgUkVHTk8gKHgpIDw9IExBU1RfVklSVFVBTF9SRUdJU1RFUikKKyAgICAg IGlmIChWSVJUVUFMX1JFR0lTVEVSX1AgKHgpKQogCXJldHVybiAwOwogICAgICAgcmV0dXJuIDE7 CiAKQEAgLTczMyw4ICs3MzIsNyBAQCBub256ZXJvX2FkZHJlc3NfcCAoY29uc3RfcnR4IHgpCiAJ ICB8fCAoeCA9PSBhcmdfcG9pbnRlcl9ydHggJiYgZml4ZWRfcmVnc1tBUkdfUE9JTlRFUl9SRUdO VU1dKSkKIAlyZXR1cm4gdHJ1ZTsKICAgICAgIC8qIEFsbCBvZiB0aGUgdmlydHVhbCBmcmFtZSBy ZWdpc3RlcnMgYXJlIHN0YWNrIHJlZmVyZW5jZXMuICAqLwotICAgICAgaWYgKFJFR05PICh4KSA+ PSBGSVJTVF9WSVJUVUFMX1JFR0lTVEVSCi0JICAmJiBSRUdOTyAoeCkgPD0gTEFTVF9WSVJUVUFM X1JFR0lTVEVSKQorICAgICAgaWYgKFZJUlRVQUxfUkVHSVNURVJfUCAoeCkpCiAJcmV0dXJuIHRy dWU7CiAgICAgICByZXR1cm4gZmFsc2U7CiAKQEAgLTE3NjksNyArMTc2Nyw3IEBAIHJlZmVyc190 b19yZWdub19wICh1bnNpZ25lZCBpbnQgcmVnbm8sIHVuc2lnbmVkIGludCBlbmRyZWdubywgY29u c3RfcnR4IHgsCiAJICAgfHwgKEZSQU1FX1BPSU5URVJfUkVHTlVNICE9IEFSR19QT0lOVEVSX1JF R05VTQogCSAgICAgICAmJiB4X3JlZ25vID09IEFSR19QT0lOVEVSX1JFR05VTSkKIAkgICB8fCB4 X3JlZ25vID09IEZSQU1FX1BPSU5URVJfUkVHTlVNKQotCSAgJiYgcmVnbm8gPj0gRklSU1RfVklS VFVBTF9SRUdJU1RFUiAmJiByZWdubyA8PSBMQVNUX1ZJUlRVQUxfUkVHSVNURVIpCisJICAmJiBW SVJUVUFMX1JFR0lTVEVSX05VTV9QIChyZWdubykpCiAJcmV0dXJuIHRydWU7CiAKICAgICAgIHJl dHVybiBlbmRyZWdubyA+IHhfcmVnbm8gJiYgcmVnbm8gPCBFTkRfUkVHTk8gKHgpOwo= --0000000000004f0bc605f98edc53--