2 unsigned char max_unaligned_load;
5 void (*blkfetch)(int size, int off, int reg, int tmp);
6 void (*blkstore)(int size, int off, int reg, int tmp);
7 void (*blkloop)(int dreg, int doff,
11 int (*_rule)(void*, int);
13 void (*_kids)(Node, int, Node*);
21 void (*clobber)(Node);
23 extern int askregvar(Symbol, Symbol);
24 extern void blkcopy(int, int, int, int, int, int[]);
25 extern int getregnum(Node);
26 extern int mayrecalc(Node);
27 extern int mkactual(int, int);
28 extern void mkauto(Symbol);
29 extern Symbol mkreg(char *, int, int, int);
30 extern Symbol mkwildcard(Symbol *);
31 extern int move(Node);
32 extern int notarget(Node);
33 extern void parseflags(int, char **);
34 extern int range(Node, int, int);
35 extern unsigned regloc(Symbol); /* omit */
36 extern void rtarget(Node, int, Symbol);
37 extern void setreg(Node, Symbol);
38 extern void spill(unsigned, int, Node);
39 extern int widens(Node);
41 extern int argoffset, maxargoffset;
42 extern int bflag, dflag;
43 extern int dalign, salign;
45 extern unsigned freemask[], usedmask[];
46 extern int offset, maxoffset;
48 extern unsigned tmask[], vmask[];
51 unsigned registered:1;
70 enum { IREG=0, FREG=1 };
73 unsigned int eaddr; /* omit */
86 #define LBURG_MAX SHRT_MAX
88 enum { VREG=(44<<4) };
90 /* Exported for the front end */
91 extern void blockbeg(Env *);
92 extern void blockend(Env *);
93 extern void emit(Node);
94 extern Node gen(Node);
96 extern unsigned emitbin(Node, int);
99 #define debug(x) (void)0
101 #define debug(x) (void)(dflag&&((x),0))