From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 18996 invoked by alias); 3 Nov 2008 15:09:38 -0000 Received: (qmail 18898 invoked by uid 22791); 3 Nov 2008 15:09:37 -0000 X-Spam-Check-By: sourceware.org Received: from mail-gx0-f12.google.com (HELO mail-gx0-f12.google.com) (209.85.217.12) by sourceware.org (qpsmtpd/0.31) with ESMTP; Mon, 03 Nov 2008 15:08:58 +0000 Received: by gxk5 with SMTP id 5so884246gxk.5 for ; Mon, 03 Nov 2008 07:08:55 -0800 (PST) Received: by 10.150.181.7 with SMTP id d7mr481793ybf.51.1225724935414; Mon, 03 Nov 2008 07:08:55 -0800 (PST) Received: by 10.150.95.5 with HTTP; Mon, 3 Nov 2008 07:08:55 -0800 (PST) Message-ID: <5787cf470811030708u3bede55ew2267b7d6358854e5@mail.gmail.com> Date: Mon, 03 Nov 2008 15:09:00 -0000 From: "Uros Bizjak" To: "GCC Patches" Subject: [PATCH, middle-end]: Fix PR 37286, ICE subst_stack_regs_pat, at reg-stack.c:1537 MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_Part_38002_32384044.1225724935428" 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 X-SW-Source: 2008-11/txt/msg00067.txt.bz2 ------=_Part_38002_32384044.1225724935428 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline Content-length: 924 Hello! This is another example of uninitialized variable confusing regstack. Instead of ICEing on uninitialized stack slot, initialize variable with a NaN. This way, we will generate FP exception if program flow reaches the instruction (if exceptions are enabled), but we will be able to compile the source. BTW: Compiling original fortran testcase from the PR with -Wall, we indeed get: pr37286.f90: In function 'gn_monte_rand': pr37286.f90:31: warning: 'monte_temp' may be used uninitialized in this function 2008-11-03 Uros Bizjak PR middle-end/37286 * reg-stack.c (subst_stack_regs_pat) [MINUS, DIV, MULT, PLUS]: Initialize uninitialized input registers with a NaN. testsuite/ChangeLog: 2008-11-03 Uros Bizjak PR middle-end/37286 * gfortran.dg/pr37286.f90: New test. The patch was bootstrapped and regression tested on i686-pc-linux-gnu. OK for mainline? Uros. ------=_Part_38002_32384044.1225724935428 Content-Type: text/plain; name=p.diff.txt Content-Transfer-Encoding: base64 X-Attachment-Id: f_fn38ymyw0 Content-Disposition: attachment; filename=p.diff.txt Content-length: 4051 SW5kZXg6IHJlZy1zdGFjay5jCj09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t IHJlZy1zdGFjay5jCShyZXZpc2lvbiAxNDE1NDYpCisrKyByZWctc3RhY2su Ywkod29ya2luZyBjb3B5KQpAQCAtMTUyNywxNSArMTUyNywzMCBAQCBzdWJz dF9zdGFja19yZWdzX3BhdCAocnR4IGluc24sIHN0YWNrIHJlCiAJICAgIGVs c2UKIAkgICAgICB7CiAJCS8qIEJvdGggb3BlcmFuZHMgYXJlIFJFRy4gIElm IG5laXRoZXIgb3BlcmFuZCBpcyBhbHJlYWR5Ci0JCSAgIGF0IHRoZSB0b3Ag b2Ygc3RhY2ssIGNob29zZSB0byBtYWtlIHRoZSBvbmUgdGhhdCBpcyB0aGUg ZGVzdAotCQkgICB0aGUgbmV3IHRvcCBvZiBzdGFjay4gICovCisJCSAgIGF0 IHRoZSB0b3Agb2Ygc3RhY2ssIGNob29zZSB0byBtYWtlIHRoZSBvbmUgdGhh dCBpcyB0aGUKKwkJICAgZGVzdCB0aGUgbmV3IHRvcCBvZiBzdGFjay4gICov CiAKIAkJaW50IHNyYzFfaGFyZF9yZWdudW0sIHNyYzJfaGFyZF9yZWdudW07 CiAKIAkJc3JjMV9oYXJkX3JlZ251bSA9IGdldF9oYXJkX3JlZ251bSAocmVn c3RhY2ssICpzcmMxKTsKIAkJc3JjMl9oYXJkX3JlZ251bSA9IGdldF9oYXJk X3JlZ251bSAocmVnc3RhY2ssICpzcmMyKTsKLQkJZ2NjX2Fzc2VydCAoc3Jj MV9oYXJkX3JlZ251bSAhPSAtMSk7Ci0JCWdjY19hc3NlcnQgKHNyYzJfaGFy ZF9yZWdudW0gIT0gLTEpOworCisJCS8qIElmIHRoZSBzb3VyY2UgaXMgbm90 IGxpdmUsIHRoaXMgaXMgeWV0IGFub3RoZXIgY2FzZSBvZgorCQkgICB1bmlu aXRpYWxpemVkIHZhcmlhYmxlcy4gIExvYWQgdXAgYSBOYU4gaW5zdGVhZC4g ICovCisJCWlmIChzcmMxX2hhcmRfcmVnbnVtID09IC0xKQorCQkgIHsKKwkJ ICAgIHJ0eCBwYXQyID0gZ2VuX3J0eF9DTE9CQkVSIChWT0lEbW9kZSwgKnNy YzEpOworCQkgICAgcnR4IGluc24yID0gZW1pdF9pbnNuX2JlZm9yZSAocGF0 MiwgaW5zbik7CisJCSAgICBjb250cm9sX2Zsb3dfaW5zbl9kZWxldGVkCisJ CSAgICAgIHw9IG1vdmVfbmFuX2Zvcl9zdGFja19yZWcgKGluc24yLCByZWdz dGFjaywgKnNyYzEpOworCQkgIH0KKwkJaWYgKHNyYzJfaGFyZF9yZWdudW0g PT0gLTEpCisJCSAgeworCQkgICAgcnR4IHBhdDIgPSBnZW5fcnR4X0NMT0JC RVIgKFZPSURtb2RlLCAqc3JjMik7CisJCSAgICBydHggaW5zbjIgPSBlbWl0 X2luc25fYmVmb3JlIChwYXQyLCBpbnNuKTsKKwkJICAgIGNvbnRyb2xfZmxv d19pbnNuX2RlbGV0ZWQKKwkJICAgICAgfD0gbW92ZV9uYW5fZm9yX3N0YWNr X3JlZyAoaW5zbjIsIHJlZ3N0YWNrLCAqc3JjMik7CisJCSAgfQogCiAJCWlm IChzcmMxX2hhcmRfcmVnbnVtICE9IEZJUlNUX1NUQUNLX1JFRwogCQkgICAg JiYgc3JjMl9oYXJkX3JlZ251bSAhPSBGSVJTVF9TVEFDS19SRUcpCkluZGV4 OiB0ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvcHIzNzI4Ni5mOTAKPT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PQotLS0gdGVzdHN1aXRlL2dmb3J0cmFuLmRnL3ByMzcy ODYuZjkwCShyZXZpc2lvbiAwKQorKysgdGVzdHN1aXRlL2dmb3J0cmFuLmRn L3ByMzcyODYuZjkwCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDU4IEBACish IHsgZGctZG8gY29tcGlsZSB9CisKK21vZHVsZSBnZW5lcmFsX3JhbmQKKyAg aW1wbGljaXQgbm9uZQorICBwcml2YXRlCisKKyAgaW50ZWdlciwgcHVibGlj LCBwYXJhbWV0ZXIgOjogR05EUCA9IGtpbmQoMS4wZDApCisKKyAgcmVhbChr aW5kID0gR05EUCksIHNhdmUgOjogJgorICAgIGduYyA9IDM2MjQzNi4wIC8g MTY3NzcyMTYuMCwgJgorICAgIGduY2QgPSA3NjU0MzIxLjAgLyAxNjc3NzIx Ni4wLCAmCisgICAgZ25jbSA9IDE2Nzc3MjEzLjAgLyAxNjc3NzIxNi4wCisg IGludGVnZXIsIHNhdmUgOjogJgorICAgIGduaTk3ID0gOTcsICYKKyAgICBn bmo5NyA9IDMzCisKKyAgcmVhbChraW5kID0gR05EUCksIHNhdmUgOjogZ251 KDk3KQorCitjb250YWlucworICBzdWJyb3V0aW5lIGduX2ZhdGFsKG1lc3Nh Z2UpCisgICAgY2hhcmFjdGVyKGxlbiA9ICopLCBpbnRlbnQoaW4pIDo6IG1l c3NhZ2UKKworICAgIHN0b3AgMSAKKyAgZW5kIHN1YnJvdXRpbmUgZ25fZmF0 YWwKKworICBmdW5jdGlvbiBnbl9tb250ZV9yYW5kKG1pbiwgbWF4KSByZXN1 bHQobW9udGUpCisgICAgcmVhbChraW5kID0gR05EUCksIGludGVudChpbikg OjogbWluIAorICAgIHJlYWwoa2luZCA9IEdORFApLCBpbnRlbnQoaW4pIDo6 IG1heAorICAgIHJlYWwoa2luZCA9IEdORFApIDo6IG1vbnRlCisKKyAgICBy ZWFsIDo6IG1vbnRlX3RlbXAKKworICAgIGlmIChtaW4gPiBtYXgpIHRoZW4K KyAgICAgIGNhbGwgZ25fZmF0YWwoJ2duX21vbnRlX3JhbmQ6IG1pbiA+IG1h eCcpCisgICAgZWxzZSBpZiAobWluID09IG1heCkgdGhlbgorICAgICAgY2Fs bCBnbl9mYXRhbCgnZ25fbW9udGVfcmFuZDogbWluID0gbWF4OiByZXR1cm5p bmcgbWluJykKKyAgICAgIG1vbnRlX3RlbXAgPSBtaW4KKyAgICBlbHNlCisK KyAgICAgIG1vbnRlX3RlbXAgPSBnbnUoZ25pOTcpIC0gZ251KGduajk3KQor ICAgICAgaWYgKG1vbnRlX3RlbXAgPCAwLjApIHRoZW4KKyAgICAgICAgbW9u dGVfdGVtcCA9IG1vbnRlX3RlbXAgKyAxLjAKKyAgICAgIGVuZCBpZgorCisg ICAgICBnbnUoZ25pOTcpID0gbW9udGVfdGVtcAorICAgICAgZ25pOTcgPSBn bmk5NyAtIDEKKyAgICAgIGlmIChnbmk5NyA9PSAwKSB0aGVuCisgICAgICAg IGduaTk3ID0gOTcKKyAgICAgIGVuZCBpZgorICAgIGVuZCBpZgorCisgICAg bW9udGUgPSBtaW4gKyBtb250ZV90ZW1wICogKG1heCAtIG1pbikKKworICBl bmQgZnVuY3Rpb24gZ25fbW9udGVfcmFuZAorCitlbmQgbW9kdWxlIGdlbmVy YWxfcmFuZAorCishIHsgZGctZmluYWwgeyBjbGVhbnVwLW1vZHVsZXMgImdl bmVyYWxfcmFuZCIgfSB9Cg== ------=_Part_38002_32384044.1225724935428--