aboutsummaryrefslogtreecommitdiffstats
path: root/lcc/src/config.h
diff options
context:
space:
mode:
Diffstat (limited to 'lcc/src/config.h')
-rw-r--r--lcc/src/config.h102
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