diff options
Diffstat (limited to 'lcc/src/config.h')
-rw-r--r-- | lcc/src/config.h | 102 |
1 files changed, 0 insertions, 102 deletions
diff --git a/lcc/src/config.h b/lcc/src/config.h deleted file mode 100644 index 6f0d5a6..0000000 --- a/lcc/src/config.h +++ /dev/null @@ -1,102 +0,0 @@ -typedef struct { - unsigned char max_unaligned_load; - Symbol (*rmap)(int); - - void (*blkfetch)(int size, int off, int reg, int tmp); - void (*blkstore)(int size, int off, int reg, int tmp); - void (*blkloop)(int dreg, int doff, - int sreg, int soff, - int size, int tmps[]); - void (*_label)(Node); - int (*_rule)(void*, int); - short **_nts; - void (*_kids)(Node, int, Node*); - char **_string; - char **_templates; - char *_isinstruction; - char **_ntname; - void (*emit2)(Node); - void (*doarg)(Node); - void (*target)(Node); - void (*clobber)(Node); -} Xinterface; -extern int askregvar(Symbol, Symbol); -extern void blkcopy(int, int, int, int, int, int[]); -extern int getregnum(Node); -extern int mayrecalc(Node); -extern int mkactual(int, int); -extern void mkauto(Symbol); -extern Symbol mkreg(char *, int, int, int); -extern Symbol mkwildcard(Symbol *); -extern int move(Node); -extern int notarget(Node); -extern void parseflags(int, char **); -extern int range(Node, int, int); -extern unsigned regloc(Symbol); /* omit */ -extern void rtarget(Node, int, Symbol); -extern void setreg(Node, Symbol); -extern void spill(unsigned, int, Node); -extern int widens(Node); - -extern int argoffset, maxargoffset; -extern int bflag, dflag; -extern int dalign, salign; -extern int framesize; -extern unsigned freemask[], usedmask[]; -extern int offset, maxoffset; -extern int swap; -extern unsigned tmask[], vmask[]; -typedef struct { - unsigned listed:1; - unsigned registered:1; - unsigned emitted:1; - unsigned copy:1; - unsigned equatable:1; - unsigned spills:1; - unsigned mayrecalc:1; - void *state; - short inst; - Node kids[3]; - Node prev, next; - Node prevuse; - short argno; -} Xnode; -typedef struct { - Symbol vbl; - short set; - short number; - unsigned mask; -} *Regnode; -enum { IREG=0, FREG=1 }; -typedef struct { - char *name; - unsigned int eaddr; /* omit */ - int offset; - Node lastuse; - int usecount; - Regnode regnode; - Symbol *wildcard; -} Xsymbol; -enum { RX=2 }; -typedef struct { - int offset; - unsigned freemask[2]; -} Env; - -#define LBURG_MAX SHRT_MAX - -enum { VREG=(44<<4) }; - -/* Exported for the front end */ -extern void blockbeg(Env *); -extern void blockend(Env *); -extern void emit(Node); -extern Node gen(Node); - -extern unsigned emitbin(Node, int); - -#ifdef NDEBUG -#define debug(x) (void)0 -#else -#define debug(x) (void)(dflag&&((x),0)) -#endif |