#include #include #include typedef unsigned int uint; typedef unsigned short ushort; typedef unsigned char uchar; enum { R = 0, /* invalid reference */ NReg = 32, Tmp0 = NReg+1, NString = 32, NPred = 15, NBlk = 128, NIns = 256, }; typedef struct Ins Ins; typedef struct Phi Phi; typedef struct Blk Blk; typedef struct Sym Sym; typedef struct Fn Fn; typedef ushort Ref; enum { RSym = 0, RConst = 1, RMask = 1, RShift = 1, NRefs = ((ushort)-1)>>RShift, }; #define SYM(x) (((x)<