This feature has never been used since its introduction, more than 3 years ago, in David Given's commitc93cb69of May 8, 2013. The commit was for "PowerPC and M68K work". I am not undoing the entire commit. I am only removing the stackadjust and stackoffset() feature. This commit removes the feature from my branch kernigh-linuxppc. This removal includes the mach/proto/ncg parts. The default branch already removed most of the feature, but kept the mach/proto/ncg parts. That removal happened in commit81778b6of May 13, 2013 (which was a merge; git diffaf0dede81778b6). The branch dtrg-experimental-powerpc merged the default branch but without the removal. That merge was commit4703db0fof Sep 15, 2016 (git diff8c94b134703db0). My branch kernigh-linuxppc is off branch dtrg-experimental-powerpc, so I can no longer get the removal by merging default. David Given described the stackadjust feature in https://sourceforge.net/p/tack/mailman/message/30814691/ The instruction stackadjust would add a value to the offset, and the function stackoffset() would return this offset. One would use this to track sp - fp, then omit the frame pointer by not keeping fp in a register.
		
			
				
	
	
		
			46 lines
		
	
	
	
		
			1 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			46 lines
		
	
	
	
		
			1 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
/*
 | 
						|
 * (c) copyright 1987 by the Vrije Universiteit, Amsterdam, The Netherlands.
 | 
						|
 * See the copyright notice in the ACK home directory, in the file "Copyright".
 | 
						|
 */
 | 
						|
/* $Id$ */
 | 
						|
 | 
						|
extern int wordsize;
 | 
						|
extern int pointersize;
 | 
						|
extern int nregs;
 | 
						|
extern int nprops;
 | 
						|
extern int ntokens;
 | 
						|
extern int nsets;
 | 
						|
extern int ninstr;
 | 
						|
extern int empatlen;
 | 
						|
extern int emrepllen;
 | 
						|
extern int tokrepllen;
 | 
						|
extern int emmnem[];
 | 
						|
extern int empatexpr;
 | 
						|
extern int codeindex;
 | 
						|
extern int tokpatlen;
 | 
						|
extern int maxtokpatlen;
 | 
						|
extern int maxempatlen;
 | 
						|
extern int maxemrepllen;
 | 
						|
extern int maxtokrepllen;
 | 
						|
extern int tokpatro[];
 | 
						|
extern int tokpatset[];
 | 
						|
extern int nallreg;
 | 
						|
extern int allreg[];
 | 
						|
extern int cursetno;
 | 
						|
extern int allsetno;
 | 
						|
extern int inproc;
 | 
						|
extern int callproc;
 | 
						|
extern int procarg[];
 | 
						|
extern int fc1,fc2,fc3,fc4;
 | 
						|
extern int maxmembers;
 | 
						|
extern int regclass;
 | 
						|
extern int maxtokensize;
 | 
						|
extern int nprocargs, maxprocargs;
 | 
						|
extern int use_tes;
 | 
						|
 | 
						|
extern char *mystrcpy();
 | 
						|
extern char *myalloc();
 | 
						|
 | 
						|
extern void error(const char* s, ...);
 | 
						|
extern void fatal(const char* s, ...);
 | 
						|
 |