From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 17744 invoked by alias); 23 Mar 2003 23:36:01 -0000 Mailing-List: contact gcc-prs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-prs-owner@gcc.gnu.org Received: (qmail 17687 invoked by uid 71); 23 Mar 2003 23:36:01 -0000 Date: Mon, 24 Mar 2003 00:16:00 -0000 Message-ID: <20030323233601.17686.qmail@sources.redhat.com> To: steven@gcc.gnu.org Cc: gcc-prs@gcc.gnu.org, From: Steven Bosscher Subject: Re: optimization/9037: [3.3 regression] -fssa-dce crashes with simple code Reply-To: Steven Bosscher X-SW-Source: 2003-03/txt/msg01553.txt.bz2 List-Id: The following reply was made to PR optimization/9037; it has been noted by GNATS. From: Steven Bosscher To: gcc-gnats@gcc.gnu.org, gcc-bugs@gcc.gnu.org, steven@gcc.gnu.org, renau@cs.uiuc.edu, gcc-prs@gcc.gnu.org, mark@codesourcery.com, gcc-patches@gcc.gnu.org Cc: Subject: Re: optimization/9037: [3.3 regression] -fssa-dce crashes with simple code Date: Mon, 24 Mar 2003 00:34:55 +0100 This is a multi-part message in MIME format. --------------060208020800070202080801 Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&pr=9037 A patch for this from Jose Renau (who is also the reporter of this problem) was applied almost three months ago on mainline. Here's a backport of the patch. OK for 3.3 if it passes regression tests? I don't know what the correct ChangeLog entry should be, so I just copy-pasted the entry from the mainline ChangeLog. Is there a convention for backported changes? Greetz Steven 2002-12-26 Jose Renau * ssa-dce.c (EXECUTE_IF_UNNECESSARY): Verify INSN is an INSN_P before checking to see if it is dead. (mark_all_insn_unnecessary): Similarly. (ssa_eliminate_dead_code): Similarly. * rtl.h (struct rtx_def): Update comments for in_struct usage in dead code elimination pass. (INSN_DEAD_CODE_P): Allow JUMP_INSN and CALL_INSN as well. --------------060208020800070202080801 Content-Type: application/x-java-vm; name="patch" Content-Transfer-Encoding: base64 Content-Disposition: inline; filename="patch" SW5kZXg6IHJ0bC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9jdnMvZ2NjL2djYy9nY2Mv cnRsLmgsdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuMzc1LjIuMgpkaWZmIC1jIC0zIC1wIC1y MS4zNzUuMi4yIHJ0bC5oCioqKiBydGwuaAkyMyBNYXIgMjAwMyAyMDoxNzoxOSAtMDAwMAkx LjM3NS4yLjIKLS0tIHJ0bC5oCTIzIE1hciAyMDAzIDIzOjIxOjIxIC0wMDAwCioqKioqKioq KioqKioqKiBkbyB7CQkJCVwKKioqIDU3OCw1ODQgKioqKgogIC8qIDEgaWYgUlRYIGlzIGFu IGluc24gdGhhdCBpcyBkZWFkIGNvZGUuICBWYWxpZCBvbmx5IGZvciBkZWFkLWNvZGUKICAg ICBlbGltaW5hdGlvbiBwaGFzZS4gICovCiAgI2RlZmluZSBJTlNOX0RFQURfQ09ERV9QKFJU WCkJCQkJCQlcCiEgICAoUlRMX0ZMQUdfQ0hFQ0sxKCJJTlNOX0RFQURfQ09ERV9QIiwgKFJU WCksIElOU04pLT5pbl9zdHJ1Y3QpCiAgCiAgLyogMSBpZiBSVFggaXMgYW4gaW5zbiBpbiBh IGRlbGF5IHNsb3QgYW5kIGlzIGZyb20gdGhlIHRhcmdldCBvZiB0aGUgYnJhbmNoLgogICAg IElmIHRoZSBicmFuY2ggaW5zbiBoYXMgSU5TTl9BTk5VTExFRF9CUkFOQ0hfUCBzZXQsIHRo aXMgaW5zbiBzaG91bGQgb25seSBiZQotLS0gNTc4LDU4NCAtLS0tCiAgLyogMSBpZiBSVFgg aXMgYW4gaW5zbiB0aGF0IGlzIGRlYWQgY29kZS4gIFZhbGlkIG9ubHkgZm9yIGRlYWQtY29k ZQogICAgIGVsaW1pbmF0aW9uIHBoYXNlLiAgKi8KICAjZGVmaW5lIElOU05fREVBRF9DT0RF X1AoUlRYKQkJCQkJCVwKISAgIChSVExfRkxBR19DSEVDSzMoIklOU05fREVBRF9DT0RFX1Ai LCAoUlRYKSwgSU5TTiwgQ0FMTF9JTlNOLCBKVU1QX0lOU04pLT5pbl9zdHJ1Y3QpCiAgCiAg LyogMSBpZiBSVFggaXMgYW4gaW5zbiBpbiBhIGRlbGF5IHNsb3QgYW5kIGlzIGZyb20gdGhl IHRhcmdldCBvZiB0aGUgYnJhbmNoLgogICAgIElmIHRoZSBicmFuY2ggaW5zbiBoYXMgSU5T Tl9BTk5VTExFRF9CUkFOQ0hfUCBzZXQsIHRoaXMgaW5zbiBzaG91bGQgb25seSBiZQpJbmRl eDogc3NhLWRjZS5jCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9jdnMvZ2NjL2djYy9nY2Mv c3NhLWRjZS5jLHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjIyCmRpZmYgLWMgLTMgLXAgLXIx LjIyIHNzYS1kY2UuYwoqKiogc3NhLWRjZS5jCTIwIEp1biAyMDAyIDE3OjUxOjA0IC0wMDAw CTEuMjIKLS0tIHNzYS1kY2UuYwkyMyBNYXIgMjAwMyAyMzoyMToyMyAtMDAwMAoqKioqKioq KioqKioqKiogc3RhdGljIHZvaWQgbWFya19hbGxfaW5zbl91bm5lY2Vzc2FyeQoqKiogMTMz LDE0MCAqKioqCiAgICBydHggSU5TTjsJCQkJCQkJXAogIAkJCQkJCQkJXAogICAgZm9yIChJ TlNOID0gZ2V0X2luc25zICgpOyBJTlNOICE9IE5VTExfUlRYOyBJTlNOID0gTkVYVF9JTlNO IChJTlNOKSkJXAohICAgICBpZiAoSU5TTl9ERUFEX0NPREVfUCAoSU5TTikpIHsJCQkJXAoh ICAgICAgIENPREU7CQkJCQkJCVwKICAgICAgfQkJCQkJCQkJXAogIH0KICAvKiBGaW5kIHRo ZSBsYWJlbCBiZWdpbm5pbmcgYmxvY2sgQkIuICAqLwotLS0gMTMzLDE0MiAtLS0tCiAgICBy dHggSU5TTjsJCQkJCQkJXAogIAkJCQkJCQkJXAogICAgZm9yIChJTlNOID0gZ2V0X2luc25z ICgpOyBJTlNOICE9IE5VTExfUlRYOyBJTlNOID0gTkVYVF9JTlNOIChJTlNOKSkJXAohICAg ICBpZiAoIElOU05fUCAoaW5zbikgKSB7CQkJCQlcCiEgICAgICAgaWYgKElOU05fREVBRF9D T0RFX1AgKElOU04pKSB7CQkJCVwKISAgICAgICAgIENPREU7CQkJCQkJCVwKISAgICAgICB9 CQkJCQkJCQlcCiAgICAgIH0JCQkJCQkJCVwKICB9CiAgLyogRmluZCB0aGUgbGFiZWwgYmVn aW5uaW5nIGJsb2NrIEJCLiAgKi8KKioqKioqKioqKioqKioqIHN0YXRpYyB2b2lkCioqKiA0 NDYsNDUzICoqKioKICBtYXJrX2FsbF9pbnNuX3VubmVjZXNzYXJ5ICgpCiAgewogICAgcnR4 IGluc247CiEgICBmb3IgKGluc24gPSBnZXRfaW5zbnMgKCk7IGluc24gIT0gTlVMTF9SVFg7 IGluc24gPSBORVhUX0lOU04gKGluc24pKQohICAgICBLSUxMX0lOU04gKGluc24pOwogIH0K ICAKICAvKiBGaW5kIHRoZSBsYWJlbCBiZWdpbm5pbmcgYmxvY2sgQkIsIGFkZGluZyBvbmUg aWYgbmVjZXNzYXJ5LiAgKi8KLS0tIDQ0OCw0NTggLS0tLQogIG1hcmtfYWxsX2luc25fdW5u ZWNlc3NhcnkgKCkKICB7CiAgICBydHggaW5zbjsKISAgIGZvciAoaW5zbiA9IGdldF9pbnNu cyAoKTsgaW5zbiAhPSBOVUxMX1JUWDsgaW5zbiA9IE5FWFRfSU5TTiAoaW5zbikpIHsKISAg ICAgaWYgKCBJTlNOX1AgKGluc24pKQohICAgICAgIEtJTExfSU5TTiAoaW5zbik7CiEgICB9 CiEgICAKICB9CiAgCiAgLyogRmluZCB0aGUgbGFiZWwgYmVnaW5uaW5nIGJsb2NrIEJCLCBh ZGRpbmcgb25lIGlmIG5lY2Vzc2FyeS4gICovCioqKioqKioqKioqKioqKiBzc2FfZWxpbWlu YXRlX2RlYWRfY29kZSAoKQoqKiogNTIwLDUyNiAqKioqCiAgCiAgICAvKiBGaW5kIGluaGVy ZW50bHkgbmVjZXNzYXJ5IGluc3RydWN0aW9ucy4gICovCiAgICBmb3IgKGluc24gPSBnZXRf aW5zbnMgKCk7IGluc24gIT0gTlVMTF9SVFg7IGluc24gPSBORVhUX0lOU04gKGluc24pKQoh ICAgICBpZiAoZmluZF9pbmhlcmVudGx5X25lY2Vzc2FyeSAoaW5zbikpCiAgICAgICAgewog IAlSRVNVUlJFQ1RfSU5TTiAoaW5zbik7CiAgCVZBUlJBWV9QVVNIX1JUWCAodW5wcm9jZXNz ZWRfaW5zdHJ1Y3Rpb25zLCBpbnNuKTsKLS0tIDUyNSw1MzEgLS0tLQogIAogICAgLyogRmlu ZCBpbmhlcmVudGx5IG5lY2Vzc2FyeSBpbnN0cnVjdGlvbnMuICAqLwogICAgZm9yIChpbnNu ID0gZ2V0X2luc25zICgpOyBpbnNuICE9IE5VTExfUlRYOyBpbnNuID0gTkVYVF9JTlNOIChp bnNuKSkKISAgICAgaWYgKGZpbmRfaW5oZXJlbnRseV9uZWNlc3NhcnkgKGluc24pICYmIElO U05fUCAoaW5zbikpCiAgICAgICAgewogIAlSRVNVUlJFQ1RfSU5TTiAoaW5zbik7CiAgCVZB UlJBWV9QVVNIX1JUWCAodW5wcm9jZXNzZWRfaW5zdHJ1Y3Rpb25zLCBpbnNuKTsKKioqKioq KioqKioqKioqIHNzYV9lbGltaW5hdGVfZGVhZF9jb2RlICgpCioqKiA3MjMsNzMwICoqKioK ICAJfQogICAgICB9CiAgICAvKiBSZWxlYXNlIGFsbG9jYXRlZCBtZW1vcnkuICAqLwohICAg Zm9yIChpbnNuID0gZ2V0X2luc25zICgpOyBpbnNuICE9IE5VTExfUlRYOyBpbnNuID0gTkVY VF9JTlNOIChpbnNuKSkKISAgICAgUkVTVVJSRUNUX0lOU04gKGluc24pOwogICAgaWYgKFZB UlJBWV9BQ1RJVkVfU0laRSAodW5wcm9jZXNzZWRfaW5zdHJ1Y3Rpb25zKSAhPSAwKQogICAg ICBhYm9ydCAoKTsKICAgIGNvbnRyb2xfZGVwZW5kZW50X2Jsb2NrX3RvX2VkZ2VfbWFwX2Zy ZWUgKGNkYnRlKTsKLS0tIDcyOCw3MzggLS0tLQogIAl9CiAgICAgIH0KICAgIC8qIFJlbGVh c2UgYWxsb2NhdGVkIG1lbW9yeS4gICovCiEgICBmb3IgKGluc24gPSBnZXRfaW5zbnMgKCk7 IGluc24gIT0gTlVMTF9SVFg7IGluc24gPSBORVhUX0lOU04gKGluc24pKSB7CiEgICAgIGlm ICggSU5TTl9QIChpbnNuKSkKISAgICAgICBSRVNVUlJFQ1RfSU5TTiAoaW5zbik7CiEgICB9 CiEgICAKICAgIGlmIChWQVJSQVlfQUNUSVZFX1NJWkUgKHVucHJvY2Vzc2VkX2luc3RydWN0 aW9ucykgIT0gMCkKICAgICAgYWJvcnQgKCk7CiAgICBjb250cm9sX2RlcGVuZGVudF9ibG9j a190b19lZGdlX21hcF9mcmVlIChjZGJ0ZSk7Cg== --------------060208020800070202080801--