From: sater Date: Sat, 19 May 1984 11:49:37 +0000 (+0000) Subject: added code to save all registers for ms_gto X-Git-Tag: release-5-5~6267 X-Git-Url: https://git.ndcode.org/public/gitweb.cgi?a=commitdiff_plain;h=ceeeca40f696a7194c795eb1f86c10443e1dc352;p=ack.git added code to save all registers for ms_gto changed place of #ifdef to make this null-module compile faster when no register variables are used. --- diff --git a/mach/proto/cg/regvar.c b/mach/proto/cg/regvar.c index 6be7549e0..6379b9bc2 100644 --- a/mach/proto/cg/regvar.c +++ b/mach/proto/cg/regvar.c @@ -1,10 +1,9 @@ -#ifndef NORCSID -static char rcsid[] = "$Header$"; -#endif - #include "assert.h" #include "param.h" #include "tables.h" + +#ifdef REGVARS + #include "types.h" #include #include "data.h" @@ -31,8 +30,6 @@ static char rcsid[] = "$Header$"; * Author: Hans van Staveren */ -#ifdef REGVARS - struct regvar *rvlist; struct regvar * @@ -95,7 +92,7 @@ tryreg(rvlp,typ) struct regvar *rvlp; { } } -fixregvars() { +fixregvars(saveall) { register struct regvar *rv; register rvtyp,i; @@ -103,7 +100,11 @@ fixregvars() { i_regsave(); /* machine dependent initialization */ for (rvtyp=reg_any;rvtyp<=reg_float;rvtyp++) { for(i=0;i0) { + if (saveall) { + struct reginfo *rp; + rp= &machregs[rvnumbers[rvtyp][i]]; + regsave(codestrings[rp->r_repr],-EM_WSIZE,rp->r_size); + } else if(regassigned[rvtyp][i].ra_score>0) { rv=regassigned[rvtyp][i].ra_rv; rv->rv_reg=rvnumbers[rvtyp][i]; regsave(codestrings[machregs[rv->rv_reg].r_repr],