Pārlūkot izejas kodu

Lots of data structures removed and made local to one specific phase.

bal 40 gadi atpakaļ
vecāks
revīzija
594a5bb49b
1 mainītis faili ar 0 papildinājumiem un 148 dzēšanām
  1. 0 148
      util/ego/share/types.h

+ 0 - 148
util/ego/share/types.h

@@ -48,22 +48,9 @@ typedef union pext_t *pext_p;
 typedef union bext_t *bext_p;
 typedef union lpext_t *lpext_p;
 
-/* Intermediate Code generation */
 
-typedef struct sym *sym_p;
-typedef struct prc *prc_p;
-typedef struct num *num_p;
-
-/* Inline Substitution */
 typedef struct call	*call_p;
-typedef struct actual	*actual_p;
 typedef struct formal	*formal_p;
-typedef struct calcnt	*calcnt_p;
-typedef short call_id;
-
-/* Strength Reduction */
-typedef struct iv	*iv_p;
-typedef struct code_info *code_p;
 
 /* Used-Definition Analysis */
 typedef struct local *local_p;
@@ -288,9 +275,6 @@ union bext_t {
    struct bext_ra {
 	short	 bx_begin;	/* number of first instruction of block	*/
 	short	 bx_end;	/* number of last  instruction of block	*/
-	short	 bx_usecnt;	/* used by minimal_score()		*/
-	short	 bx_dist;	/*  ,,					*/
-	bool	 bx_mark;	/*  ,,					*/
    } bx_ra;
 } ;
 
@@ -394,138 +378,6 @@ struct arg {
 #define	ARG(lnp)	lnp->l_a.la_arg
 
 
-/* Data structures for Intermediate Code generation */
-
-
-struct sym {
-	sym_p	 sy_next;	/* link					*/
-	char	 sy_name[IDL];	/* name of the symbol			*/
-	dblock_p sy_dblock;	/* pointer to dblock struct		*/
-};
-struct prc {
-	prc_p	 pr_next;	/* link					*/
-	char	 pr_name[IDL];	/* name of the procedure		*/
-	proc_p	 pr_proc;	/* pointer tto proc struct		*/
-};
-
-
-struct num {
-	num_p	 n_next;	/* link					*/
-	unsigned n_number;	/* EM repr. e.g. 120 in 'BRA *120'	*/
-	lab_id	 n_labid;	/* sequential integer repr. of  IC	*/
-};
-
-
-/* Data structures for Inline Substitution */
-
-struct call {
-	proc_p	 cl_caller;	/* calling procedure			*/
-	call_id	 cl_id;		/* uniquely denotes a CAL instruction	*/
-	proc_p	 cl_proc;	/* the called procedure			*/
-	byte	 cl_looplevel;	/* loop nesting level of the CAL	*/
-	bool	 cl_flags;	/* flag bits				*/
-	short	 cl_ratio;	/* indicates 'speed gain / size lost'	*/
-	call_p	 cl_cdr;	/* link to next call			*/
-	call_p	 cl_car;	/* link to nested calls			*/
-	actual_p cl_actuals;	/* actual parameter expr. trees		*/
-};
-
-#define CLF_INLPARS 017		/* min(15,nr. of inline parameters) */
-#define CLF_SELECTED	020	/* is call selected for expansion? */
-#define CLF_EVER_EXPANDED 040	/* ever expanded? e.g. in a nested call.  */
-#define CLF_FIRM	0100 	/* indicates if the call takes place in a
-				 * firm block of a loop (i.e. one that
-				 * is always executed, except
-				 * -perhaps- at the last iteration).
-				 * Used for heuristics only.
-				 */
-
-struct actual {
-	line_p	 ac_exp;	/* copy of EM text			*/
-				/* 0 for actuals that are not inline	*/
-	offset	 ac_size;	/* number of bytes of parameter		*/
-	bool	 ac_inl;	/* TRUE if it may be expanded in line	*/
-	actual_p ac_next;	/* link					*/
-};
-
-
-struct formal {
-	offset	 f_offset;	/* offsetin bytes			*/
-	byte	 f_flags;	/* flags FF_BAD etc.			*/
-	byte	 f_type;	/* SINGLE, DOUBLE,POINTER,UNKNOWN	*/
-	formal_p f_next;	/* link					*/
-};
-
-
-/* flags of formal: */
-
-#define FF_BAD		01
-#define FF_REG		02
-#define	FF_ONCEUSED	04
-#define FF_OFTENUSED	06
-#define USEMASK		014
-
-/* types of formals: */
-
-#define SINGLE		1
-#define DOUBLE		2
-#define POINTER		3
-#define UNKNOWN		4
-
-/* 'call-count' information keeps track of the number
- * of times one procedure calls another. Conceptually,
- * it may be regarded as a two dimensional array, where
- * calcnt[p,q] is the number of times p calls q. As this
- * matrix would be very dense, we use a more efficient
- * list representation. Every procedure has a list
- * of calcnt structs.
- */
-
-struct calcnt {
-	proc_p	cc_proc;	/* the called procedure */
-	short	cc_count;	/* # times proc. is called in the
-				 * original text of the caller.
-				 */
-	calcnt_p cc_next;	/* link			*/
-};
-
-
-/* Data structures for Strength Reduction */
-
-/* An induction variable */
-
-struct iv {
-	offset	 iv_off;	/* offset of the induction variable */
-	line_p	 iv_incr;	/* pointer to last instr. of EM-code that
-				 * increments the induction variable	*/
-	offset	 iv_step;	/* step value				*/
-};
-
-
-/* All information about a reducible piece of code is collected in
- * a single structure.
- */
-
-struct code_info {
-	loop_p	  co_loop;	/* the loop the code is in		*/
-	bblock_p  co_block;	/* the basic block the code is in	*/
-	line_p	  co_lfirst;	/* first instruction of the code	*/
-	line_p	  co_llast;	/* last  instruction of the code	*/
-	line_p	  co_ivexpr;	/* start of linear expr. using iv	*/
-	line_p	  co_endexpr;	/* end of the expression		*/
-	int	  co_sign;	/* sign of iv in above expr		*/
-	iv_p	  co_iv;	/* the induction variable		*/
-	offset	  co_temp;	/* temporary variable			*/
-	int	  co_tmpsize;	/* size of the temp. variable (ws or ps)*/
-	int	  co_instr;	/* the expensive instruction (mli,lar..)*/
-	union {
-		line_p	co_loadlc;	/* LOC lc instruction (for mult.)*/
-		line_p  co_desc;	/* load address of descriptor
-					 *   (for lar etc.)		*/
-	} c_o;
-};
-
-
 /* Data structures for Use-Definition and Live-Dead Analysis */
 
 struct local {