public inbox for gcc-prs@sourceware.org
help / color / mirror / Atom feed
* other/10418: O1 -funit-at-a-time -finstrument-functions makes gcc into an infinite loop
@ 2003-04-15 23:46 pinskia
  0 siblings, 0 replies; only message in thread
From: pinskia @ 2003-04-15 23:46 UTC (permalink / raw)
  To: gcc-gnats; +Cc: jh


>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=


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2003-04-15 23:46 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-04-15 23:46 other/10418: O1 -funit-at-a-time -finstrument-functions makes gcc into an infinite loop pinskia

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).