public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
* Re: middle-end/6180: Infinite loop in cc1 during dbr pass
@ 2002-04-05 11:38 John David Anglin
  2002-06-04 12:26 ` law
  0 siblings, 1 reply; 10+ messages in thread
From: John David Anglin @ 2002-04-05 11:38 UTC (permalink / raw)
  To: gcc-bugs; +Cc: gcc, rth

> Infinite loop occurs compiling nm.c (binutils 2.12.90
> 20020404).  The final loop in dbr_sequence loops forever
> because of a loop in the insn chain that occurs compiling
> the function filter_symbols.  The insn chain appears ok
> when dbr_sequence is called.

This is what is causing the problem.  There is a millicode call
insn in the function "return" just before the epilogue begin note.
dbr_schedule puts the first insn in the epilogue into the delay
slot of the call.  This insn restores %r2 from the stack.  It's
probably ok to put it into the delay slot of the millicode call
since it doesn't use %r2, but the start of the epilogue is now
in an indeterminate position.  reposition_prologue_and_epilogue_notes
moves the epilogue begin note before the sequence.  However, in
fixing the insn chain, it apparently doesn't check for a sequence
and the chain is left in a corrupt state.  In particular, it doesn't
touch the numbering inside the sequence.

I probably can fix this by adding a blockage at the beginning
of the epilogue.  However, this seems like overkill and simply
avoids the problem.

Suggestions?

Dave
-- 
J. David Anglin                                  dave.anglin@nrc.ca
National Research Council of Canada              (613) 990-0752 (FAX: 952-6605)

^ permalink raw reply	[flat|nested] 10+ messages in thread
[parent not found: <no.id>]

end of thread, other threads:[~2002-06-04 20:53 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2002-04-05 11:38 middle-end/6180: Infinite loop in cc1 during dbr pass John David Anglin
2002-06-04 12:26 ` law
2002-06-04 12:34   ` John David Anglin
2002-06-04 13:14   ` David S. Miller
2002-06-04 13:53     ` law
2002-06-04 13:55       ` David S. Miller
     [not found] <no.id>
2002-04-05 12:45 ` John David Anglin
2002-04-05 13:54   ` Richard Henderson
2002-04-06 12:58     ` John David Anglin
2002-04-06 14:51       ` Richard Henderson

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).