From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 28401 invoked by alias); 15 Apr 2003 23:46: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 28366 invoked by uid 71); 15 Apr 2003 23:46:01 -0000 Resent-Date: 15 Apr 2003 23:46:01 -0000 Resent-Message-ID: <20030415234601.28365.qmail@sources.redhat.com> Resent-From: gcc-gnats@gcc.gnu.org (GNATS Filer) Resent-Cc: gcc-prs@gcc.gnu.org, gcc-bugs@gcc.gnu.org, jh@suse.cz Resent-Reply-To: gcc-gnats@gcc.gnu.org, pinskia@physics.uc.edu Received: (qmail 25712 invoked by uid 48); 15 Apr 2003 23:36:18 -0000 Message-Id: <20030415233618.25711.qmail@sources.redhat.com> Date: Tue, 15 Apr 2003 23:46:00 -0000 From: pinskia@physics.uc.edu Reply-To: pinskia@physics.uc.edu To: gcc-gnats@gcc.gnu.org Cc: jh@suse.cz X-Send-Pr-Version: gnatsweb-2.9.3 (1.1.1.1.2.31) X-GNATS-Notify: jh@suse.cz Subject: other/10418: O1 -funit-at-a-time -finstrument-functions makes gcc into an infinite loop X-SW-Source: 2003-04/txt/msg00732.txt.bz2 List-Id: >Number: 10418 >Category: other >Synopsis: O1 -funit-at-a-time -finstrument-functions makes gcc into an infinite loop >Confidential: no >Severity: critical >Priority: medium >Responsible: unassigned >State: open >Class: sw-bug >Submitter-Id: net >Arrival-Date: Tue Apr 15 23:46:01 UTC 2003 >Closed-Date: >Last-Modified: >Originator: Andrew Pinski >Release: gcc version 3.4 20030415 (experimental) >Organization: >Environment: powerpc-apple-darwin6.5 and i686-pc-linux-gnu (really does not matter) >Description: run `gcc -O1 -funit-at-a-time -finstrument-functions temp.i' it will turn into an infinite loop, in cgraph_optimize in the while loop: Assembling functions that failed to inline: __toupper __toupper __toupper __toupper __toupper __toupper __toupper __toupper __toupper __toupper __toupper __toupper __toupper (etc.) Without -finstrument-functions, gcc does not go into an infinite loop aka for some reason __toupper is not being writting out as asm, I think this really a unit-at-a-time bug because without -funit-at-a-time, __toupper does not get assembled. >How-To-Repeat: run `gcc -O1 -funit-at-a-time -finstrument-functions temp.i' >Fix: Looks like something is going wrong here (?) (on line 458): for (edge = node->callers; edge; edge = edge->next_caller) if (TREE_ASM_WRITTEN (edge->caller->decl)) { changed = true; cgraph_expand_function (node); break; } >Release-Note: >Audit-Trail: >Unformatted: ----gnatsweb-attachment---- Content-Type: application/octet-stream; name="temp.i" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="temp.i" IyAxICJjb25mdGVzdC5jIgojIDEgIjxidWlsdC1pbj4iCiMgMSAiPGNvbW1hbmQgbGluZT4iCiMg MSAiY29uZnRlc3QuYyIKIyAxNzIzICJjb25maWd1cmUiCiMgMSAiY29uZmRlZnMuaCIgMQojIDE3 MjQgImNvbmZpZ3VyZSIgMgojIDEgIi91c3IvaW5jbHVkZS9jdHlwZS5oIiAxIDMgNAojIDY4ICIv dXNyL2luY2x1ZGUvY3R5cGUuaCIgMyA0CiMgMSAiL1ZvbHVtZXMvVUZTX1BhcnRpdGlvbi9waW5z a2lhL2ZzZi9saWIvZ2NjLWxpYi9wb3dlcnBjLWFwcGxlLWRhcndpbjYuNS8zLjQvaW5jbHVkZS9y dW5ldHlwZS5oIiAxIDMgNAojIDUxICIvVm9sdW1lcy9VRlNfUGFydGl0aW9uL3BpbnNraWEvZnNm L2xpYi9nY2MtbGliL3Bvd2VycGMtYXBwbGUtZGFyd2luNi41LzMuNC9pbmNsdWRlL3J1bmV0eXBl LmgiIDMgNAojIDEgIi91c3IvaW5jbHVkZS9zeXMvY2RlZnMuaCIgMSAzIDQKIyA1MiAiL1ZvbHVt ZXMvVUZTX1BhcnRpdGlvbi9waW5za2lhL2ZzZi9saWIvZ2NjLWxpYi9wb3dlcnBjLWFwcGxlLWRh cndpbjYuNS8zLjQvaW5jbHVkZS9ydW5ldHlwZS5oIiAyIDMgNAojIDEgIi91c3IvaW5jbHVkZS9t YWNoaW5lL2Fuc2kuaCIgMSAzIDQKIyAzMyAiL3Vzci9pbmNsdWRlL21hY2hpbmUvYW5zaS5oIiAz IDQKIyAxICIvdXNyL2luY2x1ZGUvcHBjL2Fuc2kuaCIgMSAzIDQKIyA5MiAiL3Vzci9pbmNsdWRl L3BwYy9hbnNpLmgiIDMgNAp0eXBlZGVmIHVuaW9uIHsKICAgICAgICBjaGFyIF9fbWJzdGF0ZThb MTI4XTsKICAgICAgICBsb25nIGxvbmcgX21ic3RhdGVMOwp9IF9fbWJzdGF0ZV90OwojIDM0ICIv dXNyL2luY2x1ZGUvbWFjaGluZS9hbnNpLmgiIDIgMyA0CiMgNTMgIi9Wb2x1bWVzL1VGU19QYXJ0 aXRpb24vcGluc2tpYS9mc2YvbGliL2djYy1saWIvcG93ZXJwYy1hcHBsZS1kYXJ3aW42LjUvMy40 L2luY2x1ZGUvcnVuZXR5cGUuaCIgMiAzIDQKCgoKdHlwZWRlZiBpbnQgcnVuZV90OwoKCgoKdHlw ZWRlZiBsb25nIHVuc2lnbmVkIGludCBzaXplX3Q7CgoKCgoKdHlwZWRlZiBpbnQgd2NoYXJfdDsK IyA3NyAiL1ZvbHVtZXMvVUZTX1BhcnRpdGlvbi9waW5za2lhL2ZzZi9saWIvZ2NjLWxpYi9wb3dl cnBjLWFwcGxlLWRhcndpbjYuNS8zLjQvaW5jbHVkZS9ydW5ldHlwZS5oIiAzIDQKdHlwZWRlZiBz dHJ1Y3QgewogICAgICAgIHJ1bmVfdCBtaW47CiAgICAgICAgcnVuZV90IG1heDsKICAgICAgICBy dW5lX3QgbWFwOwogICAgICAgIHVuc2lnbmVkIGxvbmcgKnR5cGVzOwp9IF9SdW5lRW50cnk7Cgp0 eXBlZGVmIHN0cnVjdCB7CiAgICAgICAgaW50IG5yYW5nZXM7CiAgICAgICAgX1J1bmVFbnRyeSAq cmFuZ2VzOwp9IF9SdW5lUmFuZ2U7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICAgICAgY2hhciBtYWdp Y1s4XTsKICAgICAgICBjaGFyIGVuY29kaW5nWzMyXTsKCiAgICAgICAgcnVuZV90ICgqc2dldHJ1 bmUpCiAgICAgICAgICAgIChjb25zdCBjaGFyICosIHNpemVfdCwgY2hhciBjb25zdCAqKik7CiAg ICAgICAgaW50ICgqc3B1dHJ1bmUpCiAgICAgICAgICAgIChydW5lX3QsIGNoYXIgKiwgc2l6ZV90 LCBjaGFyICoqKTsKICAgICAgICBydW5lX3QgaW52YWxpZF9ydW5lOwoKICAgICAgICB1bnNpZ25l ZCBsb25nIHJ1bmV0eXBlWygxIDw8OCApXTsKICAgICAgICBydW5lX3QgbWFwbG93ZXJbKDEgPDw4 ICldOwogICAgICAgIHJ1bmVfdCBtYXB1cHBlclsoMSA8PDggKV07CgoKCgoKCiAgICAgICAgX1J1 bmVSYW5nZSBydW5ldHlwZV9leHQ7CiAgICAgICAgX1J1bmVSYW5nZSBtYXBsb3dlcl9leHQ7CiAg ICAgICAgX1J1bmVSYW5nZSBtYXB1cHBlcl9leHQ7CgogICAgICAgIHZvaWQgKnZhcmlhYmxlOwog ICAgICAgIGludCB2YXJpYWJsZV9sZW47Cn0gX1J1bmVMb2NhbGU7CgoKCmV4dGVybiBfUnVuZUxv Y2FsZSBfRGVmYXVsdFJ1bmVMb2NhbGU7CmV4dGVybiBfUnVuZUxvY2FsZSAqX0N1cnJlbnRSdW5l TG9jYWxlOwojIDY5ICIvdXNyL2luY2x1ZGUvY3R5cGUuaCIgMiAzIDQKIyAxMDAgIi91c3IvaW5j bHVkZS9jdHlwZS5oIiAzIDQKCmludCBpc2FsbnVtIChpbnQpOwppbnQgaXNhbHBoYSAoaW50KTsK aW50IGlzY250cmwgKGludCk7CmludCBpc2RpZ2l0IChpbnQpOwppbnQgaXNncmFwaCAoaW50KTsK aW50IGlzbG93ZXIgKGludCk7CmludCBpc3ByaW50IChpbnQpOwppbnQgaXNwdW5jdCAoaW50KTsK aW50IGlzc3BhY2UgKGludCk7CmludCBpc3VwcGVyIChpbnQpOwppbnQgaXN4ZGlnaXQgKGludCk7 CmludCB0b2xvd2VyIChpbnQpOwppbnQgdG91cHBlciAoaW50KTsKCgppbnQgZGlnaXR0b2ludCAo aW50KTsKaW50IGlzYXNjaWkgKGludCk7CmludCBpc2JsYW5rIChpbnQpOwppbnQgaXNoZXhudW1i ZXIgKGludCk7CmludCBpc2lkZW9ncmFtIChpbnQpOwppbnQgaXNudW1iZXIgKGludCk7CmludCBp c3Bob25vZ3JhbSAoaW50KTsKaW50IGlzcnVuZSAoaW50KTsKaW50IGlzc3BlY2lhbCAoaW50KTsK aW50IHRvYXNjaWkgKGludCk7CgoKIyAxNTggIi91c3IvaW5jbHVkZS9jdHlwZS5oIiAzIDQKCnVu c2lnbmVkIGxvbmcgX19fcnVuZXR5cGUgKGludCk7CmludCBfX190b2xvd2VyIChpbnQpOwppbnQg X19fdG91cHBlciAoaW50KTsKCiMgMTgwICIvdXNyL2luY2x1ZGUvY3R5cGUuaCIgMyA0CnN0YXRp YyBfX2lubGluZSBpbnQKX19tYXNrcnVuZShpbnQgX2MsIHVuc2lnbmVkIGxvbmcgX2YpCnsKICAg ICAgICByZXR1cm4gKChfYyA8IDAgfHwgX2MgPj0gKDEgPDw4ICkpID8gX19fcnVuZXR5cGUoX2Mp IDoKICAgICAgICAgICAgICAgIF9DdXJyZW50UnVuZUxvY2FsZS0+cnVuZXR5cGVbX2NdKSAmIF9m Owp9CgpzdGF0aWMgX19pbmxpbmUgaW50Cl9faXN0eXBlKGludCBjLCB1bnNpZ25lZCBsb25nIGYp CnsKICAgICAgICByZXR1cm4gISEoX19tYXNrcnVuZShjLCBmKSk7Cn0KCnN0YXRpYyBfX2lubGlu ZSBpbnQKX19pc2N0eXBlKGludCBfYywgdW5zaWduZWQgbG9uZyBfZikKewogICAgICAgIHJldHVy biAoX2MgPCAwIHx8IF9jID49ICgxIDw8OCApKSA/IDAgOgogICAgICAgICAgICAgICAgISEoX0Rl ZmF1bHRSdW5lTG9jYWxlLnJ1bmV0eXBlW19jXSAmIF9mKTsKfQoKc3RhdGljIF9faW5saW5lIGlu dApfX3RvdXBwZXIoaW50IF9jKQp7CiAgICAgICAgcmV0dXJuIChfYyA8IDAgfHwgX2MgPj0gKDEg PDw4ICkpID8gX19fdG91cHBlcihfYykgOgogICAgICAgICAgICAgICAgX0N1cnJlbnRSdW5lTG9j YWxlLT5tYXB1cHBlcltfY107Cn0KCnN0YXRpYyBfX2lubGluZSBpbnQKX190b2xvd2VyKGludCBf YykKewogICAgICAgIHJldHVybiAoX2MgPCAwIHx8IF9jID49ICgxIDw8OCApKSA/IF9fX3RvbG93 ZXIoX2MpIDoKICAgICAgICAgICAgICAgIF9DdXJyZW50UnVuZUxvY2FsZS0+bWFwbG93ZXJbX2Nd Owp9CiMgMTcyNSAiY29uZmlndXJlIiAyCgoKCmludCBtYWluICgpIHsgaW50IGk7IGZvciAoaSA9 IDA7IGkgPCAyNTY7IGkrKykKaWYgKCgoKF9faXN0eXBlKChpKSwgMHgwMDAwMTAwMEwpKSAmJiAh KCgnYScgPD0gKGkpICYmIChpKSA8PSAneicpKSkgfHwgKCEoX19pc3R5cGUoKGkpLCAweDAwMDAx MDAwTCkpICYmICgoJ2EnIDw9IChpKSAmJiAoaSkgPD0gJ3onKSkpKSB8fCBfX3RvdXBwZXIoaSkg IT0gKCgnYScgPD0gKGkpICYmIChpKSA8PSAneicpID8gJ0EnICsgKChpKSAtICdhJykgOiAoaSkp KSBleGl0KDIpOwpleGl0ICgwKTsgfQo=