[Alpha] ICE in insert_save_restore

Jeffrey A Law law@upchuck.cygnus.com
Mon May 31 21:06:00 GMT 1999


  In message < 199905071123.NAA04060@pauillac.inria.fr >you write:
  > Situation:
  > ----------
  > 
  > EGCS 1.1.2 on Alpha Linux, configured with:
  > 
  >   configure alphaev5-unknown-linux-gnulibc1 --enable-haifa
  > 
  > It works fine, usually.
  > 
  > 
  > Problem:
  > --------
  > 
  > With code appended below, get:
  > 
  >   egcs -O3 -c bug.c -DWHICH=1
  >   OK
  > 
  >   egcs -O2 -c bug.c -DWHICH=2
  >   OK
  > 
  >   egcs -O3 -c bug.c -DWHICH=2
  >   ../../egcs-1.1.2/gcc/caller-save.c:657: Internal compiler error in functi
  > on insert_save_restore
  > 
  > 
  > The problem appears to be related to a constant in some small functions
  > that get inlined.  If it's above 32768, boom.

  > 
  > The example is a bit long, circa 250 lines, distilled from a much
  > bigger program.  The problem seems to be very fragile i.e., deleting
  > just about any piece of code anywhere can make the ICE disappear.
  > 
  > 
  > It took a lot of work to narrow it down this far... hope somebody can
  > take it further.
Well, it doesn't seem to be failing in the gcc-2.95 CVS tree.  But if it is
really that fragile it may just be working by accident.  Then again, we did
fix several bugs in the caller-save & flow code over the last year, so it
is also possible it's really fixed.

Best suggestion will be to try your code when gcc-2.95 is released (or start
trying your code on the pre-releases).

jeff



More information about the Gcc-bugs mailing list