This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: GCC trunk SPEC2000 performance


In message <3D123FD5.7EEA0FB2@moene.indiv.nluug.nl>, Toon Moene writes:
 > law@redhat.com wrote:
 > 
 > > In message <3D123660.A20EFB79@moene.indiv.nluug.nl>, Toon Moene writes:
 > 
 > >  > The problem is the MEM rtx in this array.  I looked into it and I
 > >  > couldn't find where it was filled in incorrectly, but I assume someone
 > >  > with better gdb skills than mine would be able to find the culprit.
 > > One quick test to throw out one theory would be to see if this abort
 > > happens before reload, during reload or after reload.
 > 
 > Well, the abort (compiling apsi.f with -O3) happens in:
 > 
 > apsi.f: In subroutine `uvset':
 > apsi.f:4327: internal compiler error: RTL flag check: REG_POINTER used
 > with unexpected rtx code `mem' in copy_rtx_and_substitute, at
 > integrate.c:2065
 > Please submit a full bug report,
 > ...
 > 
 > ... integrate.  This is before reload puts its ugly fingers on it,
 > IIUTCC (if I understand this compiler correctly).
Yes, but we sometimes have calls from one part of the compiler into other
parts.  So while integration happens very early, some of the routines in
integrate.c may be called from other passes (for example, the unroller calls
into various routines in integrate.c).

I wouldn't expect a call from reload (or a later pass) to 
copy_rtx_and_substitute,
but stranger things have happened.  And it's easy enough to check, just
start up f771 in the debugger, run it.  When it aborts, print out the
value of reload_completed and reload_in_progress.

jeff


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]