From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 34180 invoked by alias); 27 Jan 2016 22:18:22 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Received: (qmail 34162 invoked by uid 89); 27 Jan 2016 22:18:21 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.9 required=5.0 tests=BAYES_00,RP_MATCHES_RCVD,SPF_HELO_PASS autolearn=ham version=3.3.2 spammy=refusing, cand, sk:STACK_P, calculations X-HELO: mx1.redhat.com Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES256-GCM-SHA384 encrypted) ESMTPS; Wed, 27 Jan 2016 22:18:19 +0000 Received: from int-mx09.intmail.prod.int.phx2.redhat.com (int-mx09.intmail.prod.int.phx2.redhat.com [10.5.11.22]) by mx1.redhat.com (Postfix) with ESMTPS id A0D7B263C for ; Wed, 27 Jan 2016 22:18:18 +0000 (UTC) Received: from anchor.twiddle.net (vpn-226-103.phx2.redhat.com [10.3.226.103]) by int-mx09.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u0RMIIbE024750 for ; Wed, 27 Jan 2016 17:18:18 -0500 To: GCC Patches From: Richard Henderson Subject: [lra, committed] Fix PR 69447 X-Enigmail-Draft-Status: N1110 Message-ID: <56A94228.3070409@redhat.com> Date: Wed, 27 Jan 2016 22:18:00 -0000 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.5.0 MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="------------070700020703020601000201" X-IsSubscribed: yes X-SW-Source: 2016-01/txt/msg02172.txt.bz2 This is a multi-part message in MIME format. --------------070700020703020601000201 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Content-length: 696 This PR appears to be related to PR 66424, which Vlad fixed back in September, but different in that the insn being rematerialized used the entire DImode pseudo instead of an SImode subreg of a DImode pseudo. The effect was the same, however, in that it lengthened the lifetime of one half of the double-word pseudo, causing it to conflict with the coloring set up by IRA. While this solves the problem by refusing to remat any double-word pseudo that has ever had one of its subreg taken, a more complete solution is to also sync IRA and LRA so that both of them track lifetimes of subregs. Not for now, obviously. Tested on x86_64, i686, and armv7hf-linux. Approved by Vlad in the PR. r~ --------------070700020703020601000201 Content-Type: text/plain; charset=UTF-8; name="z" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="z" Content-length: 8447 CVBSIHJ0bC1vcHQvNjk0NDcKCSogbHJhLXJlbWF0LmMgKHN1YnJlZ19yZWdz KTogTmV3LgoJKGR1bXBfY2FuZGlkYXRlc19hbmRfcmVtYXRfYmJfZGF0YSk6 IER1bXAgaXQuCgkob3BlcmFuZF90b19yZW1hdCk6IFJlamVjdCBpZiBvcGVy YW5kIGluIHN1YnJlZ19yZWdzLgoJKHNldF9iYl9yZWdzKTogQ29sbGVjdCBz dWJyZWdfcmVncy4KCShscmFfcmVtYXQpOiBJbml0IGFuZCBmcmVlIHN1YnJl Z19yZWdzLiAgQ29tcHV0ZQoJY2FsY3VsYXRlX2xvY2FsX3JlZ19yZW1hdF9i Yl9kYXRhIGJlZm9yZSBjcmVhdGVfY2FuZHMuCgp0ZXN0c3VpdGUvCgkqIGdj Yy5jLXRvcnR1cmUvZXhlY3V0ZS9wcjY5NDQ3LmM6IE5ldyB0ZXN0LgoKCmRp ZmYgLS1naXQgYS9nY2MvbHJhLXJlbWF0LmMgYi9nY2MvbHJhLXJlbWF0LmMK aW5kZXggNmY0OTBiOS4uNGQ4MDk5ZiAxMDA2NDQKLS0tIGEvZ2NjL2xyYS1y ZW1hdC5jCisrKyBiL2djYy9scmEtcmVtYXQuYwpAQCAtNzcsNiArNzcsOSBA QCBzdGF0aWMgaW50IGNhbGxfdXNlZF9yZWdzX2FycltGSVJTVF9QU0VVRE9f UkVHSVNURVJdOwogLyogQml0bWFwIHVzZWQgZm9yIGRpZmZlcmVudCBjYWxj dWxhdGlvbnMuICAqLwogc3RhdGljIGJpdG1hcF9oZWFkIHRlbXBfYml0bWFw OwogCisvKiBSZWdpc3RlcnMgYWNjZXNzZWQgdmlhIHN1YnJlZ19wLiAgKi8K K3N0YXRpYyBiaXRtYXBfaGVhZCBzdWJyZWdfcmVnczsKKwogdHlwZWRlZiBz dHJ1Y3QgY2FuZCAqY2FuZF90OwogdHlwZWRlZiBjb25zdCBzdHJ1Y3QgY2Fu ZCAqY29uc3RfY2FuZF90OwogCkBAIC0zODMsMzAgKzM4NiwzMCBAQCBvcGVy YW5kX3RvX3JlbWF0IChydHhfaW5zbiAqaW5zbikKICAgICByZXR1cm4gLTE7 CiAgIC8qIEZpcnN0IGZpbmQgYSBwc2V1ZG8gd2hpY2ggY2FuIGJlIHJlbWF0 ZXJpYWxpemVkLiAgKi8KICAgZm9yIChyZWcgPSBpZC0+cmVnczsgcmVnICE9 IE5VTEw7IHJlZyA9IHJlZy0+bmV4dCkKLSAgICAvKiBUcnVlIEZSQU1FX1BP SU5URVJfTkVFREVEIG1pZ2h0IGJlIGJlY2F1c2Ugd2UgY2FuIG5vdCBmb2xs b3cKLSAgICAgICBjaGFuZ2luZyBzcCBvZmZzZXRzLCBlLmcuIGFsbG9jYSBp cyB1c2VkLiAgSWYgdGhlIGluc24gY29udGFpbnMKLSAgICAgICBzdGFjayBw b2ludGVyIGluIHN1Y2ggY2FzZSwgd2UgY2FuIG5vdCByZW1hdGVyaWFsaXpl IGl0IGFzIHdlCi0gICAgICAgY2FuIG5vdCBrbm93IHNwIG9mZnNldCBhdCBh IHJlbWF0ZXJpYWxpemF0aW9uIHBsYWNlLiAgKi8KLSAgICBpZiAocmVnLT5y ZWdubyA9PSBTVEFDS19QT0lOVEVSX1JFR05VTSAmJiBmcmFtZV9wb2ludGVy X25lZWRlZCkKLSAgICAgIHJldHVybiAtMTsKLSAgICBlbHNlIGlmIChyZWct PnR5cGUgPT0gT1BfT1VUICYmICEgcmVnLT5zdWJyZWdfcAotCSAgICAgJiYg ZmluZF9yZWdub19ub3RlIChpbnNuLCBSRUdfVU5VU0VELCByZWctPnJlZ25v KSA9PSBOVUxMKQotICAgICAgewotCS8qIFdlIHBlcm1pdHMgb25seSBvbmUg c3BpbGxlZCByZWcuICAqLwotCWlmIChmb3VuZF9yZWcgIT0gTlVMTCkKLQkg IHJldHVybiAtMTsKLQlmb3VuZF9yZWcgPSByZWc7Ci0gICAgICB9Ci0gICAg LyogSVJBIGNhbGN1bGF0ZXMgY29uZmxpY3RzIHNlcGFyYXRlbHkgZm9yIHN1 YnJlZ3Mgb2YgdHdvIHdvcmRzCi0gICAgICAgcHNldWRvLiAgRXZlbiBpZiB0 aGUgcHNldWRvIGxpdmVzLCBlLmcuIG9uZSBpdHMgc3VicmVnIGNhbiBiZQot ICAgICAgIHVzZWQgbGF0ZWx5LCBhbm90aGVyIHN1YnJlZyBoYXJkIHJlZ2lz dGVyIGNhbiBiZSBhbHJlYWR5IHVzZWQKLSAgICAgICBmb3Igc29tZXRoaW5n IGVsc2UuICBJbiBzdWNoIGNhc2UsIGl0IGlzIG5vdCBzYWZlIHRvCi0gICAg ICAgcmVtYXRlcmlhbGl6ZSB0aGUgaW5zbi4gICovCi0gICAgZWxzZSBpZiAo cmVnLT50eXBlID09IE9QX0lOICYmIHJlZy0+c3VicmVnX3AKLQkgICAgICYm IHJlZy0+cmVnbm8gPj0gRklSU1RfUFNFVURPX1JFR0lTVEVSCi0JICAgICAm JiAoR0VUX01PREVfU0laRSAoUFNFVURPX1JFR05PX01PREUgKHJlZy0+cmVn bm8pKQotCQkgPT0gMiAqIFVOSVRTX1BFUl9XT1JEKSkKLSAgICAgIHJldHVy biAtMTsKKyAgICB7CisgICAgICAvKiBUcnVlIEZSQU1FX1BPSU5URVJfTkVF REVEIG1pZ2h0IGJlIGJlY2F1c2Ugd2UgY2FuIG5vdCBmb2xsb3cKKwkgY2hh bmdpbmcgc3Agb2Zmc2V0cywgZS5nLiBhbGxvY2EgaXMgdXNlZC4gIElmIHRo ZSBpbnNuIGNvbnRhaW5zCisJIHN0YWNrIHBvaW50ZXIgaW4gc3VjaCBjYXNl LCB3ZSBjYW4gbm90IHJlbWF0ZXJpYWxpemUgaXQgYXMgd2UKKwkgY2FuIG5v dCBrbm93IHNwIG9mZnNldCBhdCBhIHJlbWF0ZXJpYWxpemF0aW9uIHBsYWNl LiAgKi8KKyAgICAgIGlmIChyZWctPnJlZ25vID09IFNUQUNLX1BPSU5URVJf UkVHTlVNICYmIGZyYW1lX3BvaW50ZXJfbmVlZGVkKQorCXJldHVybiAtMTsK KyAgICAgIGVsc2UgaWYgKHJlZy0+dHlwZSA9PSBPUF9PVVQgJiYgISByZWct PnN1YnJlZ19wCisJICAgICAgICYmIGZpbmRfcmVnbm9fbm90ZSAoaW5zbiwg UkVHX1VOVVNFRCwgcmVnLT5yZWdubykgPT0gTlVMTCkKKwl7CisJICAvKiBX ZSBwZXJtaXRzIG9ubHkgb25lIHNwaWxsZWQgcmVnLiAgKi8KKwkgIGlmIChm b3VuZF9yZWcgIT0gTlVMTCkKKwkgICAgcmV0dXJuIC0xOworCSAgZm91bmRf cmVnID0gcmVnOworICAgICAgICB9CisgICAgICAvKiBJUkEgY2FsY3VsYXRl cyBjb25mbGljdHMgc2VwYXJhdGVseSBmb3Igc3VicmVncyBvZiB0d28gd29y ZHMKKwkgcHNldWRvLiAgRXZlbiBpZiB0aGUgcHNldWRvIGxpdmVzLCBlLmcu IG9uZSBpdHMgc3VicmVnIGNhbiBiZQorCSB1c2VkIGxhdGVseSwgYW5vdGhl ciBzdWJyZWcgaGFyZCByZWdpc3RlciBjYW4gYmUgYWxyZWFkeSB1c2VkCisJ IGZvciBzb21ldGhpbmcgZWxzZS4gIEluIHN1Y2ggY2FzZSwgaXQgaXMgbm90 IHNhZmUgdG8KKwkgcmVtYXRlcmlhbGl6ZSB0aGUgaW5zbi4gICovCisgICAg ICBpZiAocmVnLT5yZWdubyA+PSBGSVJTVF9QU0VVRE9fUkVHSVNURVIKKwkg ICYmIGJpdG1hcF9iaXRfcCAoJnN1YnJlZ19yZWdzLCByZWctPnJlZ25vKSkK KwlyZXR1cm4gLTE7CisgICAgfQogICBpZiAoZm91bmRfcmVnID09IE5VTEwp CiAgICAgcmV0dXJuIC0xOwogICBpZiAoZm91bmRfcmVnLT5yZWdubyA8IEZJ UlNUX1BTRVVET19SRUdJU1RFUikKQEAgLTYzMSw2ICs2MzQsOSBAQCBkdW1w X2NhbmRpZGF0ZXNfYW5kX3JlbWF0X2JiX2RhdGEgKHZvaWQpCiAgICAgICBs cmFfZHVtcF9iaXRtYXBfd2l0aF90aXRsZSAoImF2b3V0IGNhbmRzIGluIEJC IiwKIAkJCQkgICZnZXRfcmVtYXRfYmJfZGF0YSAoYmIpLT5hdm91dF9jYW5k cywgYmItPmluZGV4KTsKICAgICB9CisgIGZwcmludGYgKGxyYV9kdW1wX2Zp bGUsICJzdWJyZWcgcmVnczoiKTsKKyAgZHVtcF9yZWdzZXQgKCZzdWJyZWdf cmVncywgbHJhX2R1bXBfZmlsZSk7CisgIHB1dGMgKCdcbicsIGxyYV9kdW1w X2ZpbGUpOwogfQogCiAvKiBGcmVlIGFsbCBCQiBkYXRhLiAgKi8KQEAgLTY1 NSwyMSArNjYxLDI0IEBAIGZpbmlzaF9yZW1hdF9iYl9kYXRhICh2b2lkKQog CiAMCiAKLS8qIFVwZGF0ZSBjaGFuZ2VkX3JlZ3MgYW5kIGRlYWRfcmVncyBv ZiBCQiBmcm9tIElOU04uICAqLworLyogVXBkYXRlIGNoYW5nZWRfcmVncywg ZGVhZF9yZWdzLCBzdWJyZWdfcmVncyBvZiBCQiBmcm9tIElOU04uICAqLwog c3RhdGljIHZvaWQKIHNldF9iYl9yZWdzIChiYXNpY19ibG9jayBiYiwgcnR4 X2luc24gKmluc24pCiB7CiAgIGxyYV9pbnNuX3JlY29nX2RhdGFfdCBpZCA9 IGxyYV9nZXRfaW5zbl9yZWNvZ19kYXRhIChpbnNuKTsKKyAgcmVtYXRfYmJf ZGF0YV90IGJiX2luZm8gPSBnZXRfcmVtYXRfYmJfZGF0YSAoYmIpOwogICBz dHJ1Y3QgbHJhX2luc25fcmVnICpyZWc7CiAKICAgZm9yIChyZWcgPSBpZC0+ cmVnczsgcmVnICE9IE5VTEw7IHJlZyA9IHJlZy0+bmV4dCkKLSAgICBpZiAo cmVnLT50eXBlICE9IE9QX0lOKQotICAgICAgYml0bWFwX3NldF9iaXQgKCZn ZXRfcmVtYXRfYmJfZGF0YSAoYmIpLT5jaGFuZ2VkX3JlZ3MsIHJlZy0+cmVn bm8pOwotICAgIGVsc2UKLSAgICAgIHsKLQlpZiAoZmluZF9yZWdub19ub3Rl IChpbnNuLCBSRUdfREVBRCwgKHVuc2lnbmVkKSByZWctPnJlZ25vKSAhPSBO VUxMKQotCSAgYml0bWFwX3NldF9iaXQgKCZnZXRfcmVtYXRfYmJfZGF0YSAo YmIpLT5kZWFkX3JlZ3MsIHJlZy0+cmVnbm8pOwotICAgICAgfQorICAgIHsK KyAgICAgIHVuc2lnbmVkIHJlZ25vID0gcmVnLT5yZWdubzsKKyAgICAgIGlm IChyZWctPnR5cGUgIT0gT1BfSU4pCisgICAgICAgIGJpdG1hcF9zZXRfYml0 ICgmYmJfaW5mby0+Y2hhbmdlZF9yZWdzLCByZWdubyk7CisgICAgICBlbHNl IGlmIChmaW5kX3JlZ25vX25vdGUgKGluc24sIFJFR19ERUFELCByZWdubykg IT0gTlVMTCkKKwliaXRtYXBfc2V0X2JpdCAoJmJiX2luZm8tPmRlYWRfcmVn cywgcmVnbm8pOworICAgICAgaWYgKHJlZ25vID49IEZJUlNUX1BTRVVET19S RUdJU1RFUiAmJiByZWctPnN1YnJlZ19wKQorCWJpdG1hcF9zZXRfYml0ICgm c3VicmVnX3JlZ3MsIHJlZ25vKTsKKyAgICB9CiAgIGlmIChDQUxMX1AgKGlu c24pKQogICAgIGZvciAoaW50IGkgPSAwOyBpIDwgY2FsbF91c2VkX3JlZ3Nf YXJyX2xlbjsgaSsrKQogICAgICAgYml0bWFwX3NldF9iaXQgKCZnZXRfcmVt YXRfYmJfZGF0YSAoYmIpLT5kZWFkX3JlZ3MsCkBAIC0xMjg0LDEwICsxMjkz LDExIEBAIGxyYV9yZW1hdCAodm9pZCkKICAgICBpZiAoY2FsbF91c2VkX3Jl Z3NbaV0pCiAgICAgICBjYWxsX3VzZWRfcmVnc19hcnJbY2FsbF91c2VkX3Jl Z3NfYXJyX2xlbisrXSA9IGk7CiAgIGluaXRpYXRlX2NhbmRfdGFibGUgKCk7 Ci0gIGNyZWF0ZV9jYW5kcyAoKTsKICAgY3JlYXRlX3JlbWF0X2JiX2RhdGEg KCk7CiAgIGJpdG1hcF9pbml0aWFsaXplICgmdGVtcF9iaXRtYXAsICZyZWdf b2JzdGFjayk7CisgIGJpdG1hcF9pbml0aWFsaXplICgmc3VicmVnX3JlZ3Ms ICZyZWdfb2JzdGFjayk7CiAgIGNhbGN1bGF0ZV9sb2NhbF9yZWdfcmVtYXRf YmJfZGF0YSAoKTsKKyAgY3JlYXRlX2NhbmRzICgpOwogICBjYWxjdWxhdGVf bGl2ZWluX2NhbmRzICgpOwogICBjYWxjdWxhdGVfZ2VuX2NhbmRzICgpOwog ICBiaXRtYXBfaW5pdGlhbGl6ZSAoJmFsbF9ibG9ja3MsICZyZWdfb2JzdGFj ayk7CkBAIC0xMjk4LDYgKzEzMDgsNyBAQCBscmFfcmVtYXQgKHZvaWQpCiAg IHJlc3VsdCA9IGRvX3JlbWF0ICgpOwogICBhbGxfY2FuZHMucmVsZWFzZSAo KTsKICAgYml0bWFwX2NsZWFyICgmdGVtcF9iaXRtYXApOworICBiaXRtYXBf Y2xlYXIgKCZzdWJyZWdfcmVncyk7CiAgIGZpbmlzaF9yZW1hdF9iYl9kYXRh ICgpOwogICBmaW5pc2hfY2FuZF90YWJsZSAoKTsKICAgYml0bWFwX2NsZWFy ICgmYWxsX2Jsb2Nrcyk7CmRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2dj Yy5jLXRvcnR1cmUvZXhlY3V0ZS9wcjY5NDQ3LmMgYi9nY2MvdGVzdHN1aXRl L2djYy5jLXRvcnR1cmUvZXhlY3V0ZS9wcjY5NDQ3LmMKbmV3IGZpbGUgbW9k ZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjZkODU5MQotLS0gL2Rldi9udWxs CisrKyBiL2djYy90ZXN0c3VpdGUvZ2NjLmMtdG9ydHVyZS9leGVjdXRlL3By Njk0NDcuYwpAQCAtMCwwICsxLDI2IEBACit0eXBlZGVmIHVuc2lnbmVkIGNo YXIgdTg7Cit0eXBlZGVmIHVuc2lnbmVkIHNob3J0IHUxNjsKK3R5cGVkZWYg dW5zaWduZWQgaW50IHUzMjsKK3R5cGVkZWYgdW5zaWduZWQgbG9uZyBsb25n IHU2NDsKKwordTY0IF9fYXR0cmlidXRlX18oKG5vaW5saW5lLCBub2Nsb25l KSkKK2Zvbyh1OCB1OF8wLCB1MTYgdTE2XzAsIHU2NCB1NjRfMCwgdTggdThf MSwgdTE2IHUxNl8xLCB1NjQgdTY0XzEsIHU2NCB1NjRfMiwgdTggdThfMywg dTY0IHU2NF8zKQoreworCXU2NF8xICo9IDB4NzczMDsKKwl1NjRfMyAqPSB1 NjRfMzsKKwl1MTZfMSB8PSB1NjRfMzsKKwl1NjRfMyAtPSAyOworCXU4XzMg Lz0gdTY0XzI7CisJdThfMCB8PSAzOworCXU2NF8zICU9IHU4XzA7CisJdThf MCAtPSAxOworCXJldHVybiB1OF8wICsgdTE2XzAgKyB1NjRfMCArIHU4XzEg KyB1MTZfMSArIHU2NF8xICsgdThfMyArIHU2NF8zOworfQorCitpbnQgbWFp bigpCit7CisJdW5zaWduZWQgeCA9IGZvbygxLCAxLCAxLCAxLCAxLCAxLCAx LCAxLCAxKTsKKwlpZiAoeCAhPSAweDc3MzcpCisJCV9fYnVpbHRpbl9hYm9y dCgpOworCXJldHVybiAwOworfQo= --------------070700020703020601000201--