struct iCode *rematiCode; /* rematerialse with which instruction */
struct operand *reqv; /* register equivalent of a local variable */
struct symbol *prereqv; /* symbol before register equiv. substituion */
+ struct symbol *psbase; /* if pseudo symbol, the symbol it is based on */
union
{
struct symbol *spillLoc; /* register spil location */
#define IS_CODE(x) (IS_SPEC(x) && SPEC_SCLS(x) == S_CODE)
#define IS_REGPARM(x) (IS_SPEC(x) && SPEC_REGPARM(x))
+/* symbol check macros */
+#define IS_AUTO(x) (x->level && !IS_STATIC(x->etype) && !IS_EXTERN(x->etype))
+
/* forward declaration for the global vars */
extern bucket *SymbolTab[];
extern bucket *StructTab[];
value *checkArrayIval (sym_link *, value *);
value *checkIval (sym_link *, value *);
unsigned int getSize (sym_link *);
+unsigned int getAllocSize (sym_link *);
unsigned int bitsForType (sym_link *);
sym_link *newIntLink ();
sym_link *newCharLink ();