🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: gnu.gcc.bug
Article #1786

(none)

#1786
From: David W. Forslund
Date: Wed, 12 Oct 1988 15:53
83 lines
3693 bytes
After adding the patch for push_reload from RMS, gcc-1.29  still will
not compile on a Sun4 running SunOS4.0:

It dies in stage1 trying to compile toplev.c.  Here is the output of dbx:

Script started on Wed Oct 12 09:45:45 1988
demos% make CC=stage1/gcc CFLAGS="-g -v -O -Bstage1/"
stage1/gcc -g -v -O -Bstage1/  -sun4 -c  toplev.c
gcc version 1.29
 stage1/cpp -v -undef -D__GNU__ -D__GNUC__ -Dsparc -Dsun -Dunix -D__OPTIMIZE__ toplev.c /tmp/cca08294.cpp
GNU CPP version 1.29
 stage1/cc1 /tmp/cca08294.cpp -quiet -dumpbase toplev.c -g -O -version -o /tmp/cca08294.s
GNU C version 1.29 (sparc) compiled by CC.
stage1/gcc: Program cc1 got fatal signal 6.
*** Error code 1
make: Fatal error: Command failed for target `toplev.o'
demos% dbx stage1/cc1
Reading symbolic information...
Read 41397 symbols
(dbx) where
kill() at 0xf7728c38
push_reload(in = 0xcd028, out = (nil), inloc = 0xcd074, outloc = (nil), class = GENERAL_REGS, inmode = SImode, outmode = VOIDmode, strict_low = 0, optional = 0), line 235 in "reload.c"
find_reloads_address(mode = SImode, memrefloc = 0xcd214, ad = 0xcd028, loc = 0xcd074), line 1970 in "reload.c"
find_reloads(insn = 0xcd220, replace = 0, ind_ok = 0, live_known = 1, reload_reg_p = 0xc65d8), line 1021 in "reload.c"
reload(first = 0xccac8, global = 1, dumpfile = (nil)), line 434 in "reload1.c"
global_alloc(file = (nil)), line 303 in "global-alloc.c"
rest_of_compilation(decl = 0x10cb50), line 1288 in "toplev.c"
finish_function(), line 3291 in "c-decl.c"
yyparse(), line 224 in "c-parse.y"
compile_file(name = 0xf7fffc40 "/tmp/cca08294.cpp"), line 863 in "toplev.c"
main(argc = 10, argv = 0xf7fffb94, envp = 0xf7fffbc0), line 1579 in "toplev.c"
(dbx) quit
demos% ^D
script done on Wed Oct 12 09:46:59 1988

Here is the patch which was used on reload.c.  Are there others?

*** reload.c~	Thu Oct  6 20:36:43 1988
--- reload.c	Tue Oct 11 15:05:22 1988
***************
*** 308,313 ****
--- 308,338 ----
  	     && (in == 0 || reload_in[i] == 0 || MATCHES (reload_in[i], in)))))
        break;
  
+   /* Reloading a plain reg for input can match a reload to postincrement
+      that reg, since the postincrement's value is the right value.
+      Likewise, it can match a preincrement reload, since we regard
+      the preincrementation as happening before any ref in this insn
+      to that register.  */
+   if (i == n_reloads)
+     for (i = 0; i < n_reloads; i++)
+       if (reload_reg_class[i] == class
+ 	  && reload_strict_low[i] == strict_low
+ 	  && out == 0 && reload_out[i] == 0
+ 	  && ((GET_CODE (in) == REG
+ 	       && (GET_CODE (reload_in[i]) == POST_INC
+ 		   || GET_CODE (reload_in[i]) == POST_DEC
+ 		   || GET_CODE (reload_in[i]) == PRE_INC
+ 		   || GET_CODE (reload_in[i]) == PRE_DEC)
+ 	       && MATCHES (XEXP (reload_in[i], 0), in))
+ 	      ||
+ 	      (GET_CODE (reload_in[i]) == REG
+ 	       && (GET_CODE (in) == POST_INC
+ 		   || GET_CODE (in) == POST_DEC
+ 		   || GET_CODE (in) == PRE_INC
+ 		   || GET_CODE (in) == PRE_DEC)
+ 	       && MATCHES (XEXP (in, 0), reload_in[i]))))
+ 	break;
+ 
    if (i == n_reloads)
      {
        /* We found no existing reload suitable for re-use.


David Forslund
MS E531
Los Alamos National Laboratory
Los Alamos, NM 87545

(505) 665-1907
(dwf@lanl.gov)
Technical Details
Message-ID: <8810121553.AA01965@hope.lanl.gov>
Path: arc1-ca.pugleaf.net!utzoo!telly!ddsw1!mcdchg!rutgers!tut.cis.ohio-state.edu!LANL.GOV!dwf%hope

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!telly!ddsw1!mcdchg!rutgers!tut.cis.ohio-state.edu!LANL.GOV!dwf%hope
From: dwf%hope@LANL.GOV (David W. Forslund)
Newsgroups: gnu.gcc.bug
Subject: (none)
Message-ID: <8810121553.AA01965@hope.lanl.gov>
Date: 12 Oct 88 15:53:01 GMT
Sender: daemon@tut.cis.ohio-state.edu
Distribution: gnu
Organization: GNUs Not Usenet
Lines: 83