🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: gnu.gcc.bug
Article #2819

Re: GCC on Sequent Balance machines -- reload1.c out of tree space

#2819
From: Jim Reid
Date: Wed, 10 Jan 1990 16:59
64 lines
2846 bytes
In article <8YKD^@rpi.edu> tale@cs.rpi.edu (David C Lawrence) writes:
>I am having a bit of a problem getting a working GCC 1.36 on our
>Sequent Balance 8000 and 21000 machines.  The following seems to be
>the only thing (currently) standing in the way of getting it going:
>$ make
>	cc -c -g  -I. -I. -I./config reload1.c
>"reload1.c", line 2249: compiler error: out of tree space; simplify expression
>*** Error code 1

I fixed this some time ago and passed the patch to RMS for inclusion in
a subsequent version of GCC. Here's the patch. Enjoy.

		Jim

*** reload1.c	Wed Nov  8 10:19:44 1989
--- reload1.c.seq	Wed Nov  8 11:31:24 1989
***************
*** 1866,1871 ****
--- 1866,1875 ----
    /* Non-zero means we must reuse spill regs for multiple reloads in this insn
       or we will not have enough spill regs.  */
    int must_reuse = 0;
+ #if defined(sequent) && defined(ns32000) && !defined(__GNUC__)
+   /* kludge for DYNIX C compiler */
+   int h1, h2, h3;
+ #endif
  
    bzero (reload_inherited, MAX_RELOADS);
    bzero (reload_override_in, MAX_RELOADS * sizeof (rtx));
***************
*** 2240,2245 ****
--- 2244,2265 ----
        reload_spill_index[r] = i;
  
        /* Detect when the reload reg can't hold the reload mode.  */
+ #if defined(sequent) && defined(ns32000) && !defined(__GNUC__)
+       /*
+        * The Sequent Balance C compiler cannot grok the
+        * original expression, so simplify it.
+        *   JR 8/11/89 jim@cs.strath.ac.uk
+        */
+       h1 = HARD_REGNO_MODE_OK (REGNO (reload_reg_rtx[r]),
+ 		     reload_mode);
+       h2 = HARD_REGNO_MODE_OK (REGNO (reload_reg_rtx[r]),
+                      GET_MODE (reload_in[r]));
+       h3 = HARD_REGNO_MODE_OK (REGNO (reload_reg_rtx[r]),
+ 		     GET_MODE (reload_out[r]));
+       if (!h1 || (reload_in[r] != 0 && !h2)
+ 	       || (reload_out[r] != 0 && !h3))
+ 
+ #else
        if (! HARD_REGNO_MODE_OK (REGNO (reload_reg_rtx[r]), reload_mode)
  	  || (reload_in[r] != 0
  	      && ! HARD_REGNO_MODE_OK (REGNO (reload_reg_rtx[r]),
***************
*** 2247,2252 ****
--- 2267,2273 ----
  	  || (reload_out[r] != 0
  	      && ! HARD_REGNO_MODE_OK (REGNO (reload_reg_rtx[r]),
  				       GET_MODE (reload_out[r]))))
+ #endif
  	{
  	  if (asm_noperands (PATTERN (insn)) < 0)
  	    /* It's the compiler's fault.  */
Technical Details
Message-ID: <1464@baird.cs.strath.ac.uk>
Path: arc1-ca.pugleaf.net!utzoo!utgpu!jarvis.csri.toronto.edu!cs.utexas.edu!uunet!mcsun!ukc!strath-cs!jim
References: <8YKD^@rpi.edu>

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!utgpu!jarvis.csri.toronto.edu!cs.utexas.edu!uunet!mcsun!ukc!strath-cs!jim
From: jim@cs.strath.ac.uk (Jim Reid)
Newsgroups: gnu.gcc.bug
Subject: Re: GCC on Sequent Balance machines -- reload1.c out of tree space
Message-ID: <1464@baird.cs.strath.ac.uk>
Date: 10 Jan 90 16:59:04 GMT
References: <8YKD^@rpi.edu>
Sender: news@cs.strath.ac.uk
Reply-To: jim@cs.strath.ac.uk
Organization: Comp. Sci. Dept., Strathclyde Univ., Scotland.
Lines: 64