#ifndef SDCCRALLOC_H
#define SDCCRALLOC_H 1
+
+
enum
{
R2_IDX = 0, R3_IDX, R4_IDX,
#define REG_PTR 0x01
#define REG_GPR 0x02
#define REG_CND 0x04
+#define REG_SFR 0x08
+
/* definition for the registers */
typedef struct regs
{
short type; /* can have value
- REG_GPR, REG_PTR or REG_CND */
+ * REG_GPR, REG_PTR or REG_CND
+ * This like the "meta-type" */
+ short pc_type; /* pcode type */
short rIdx; /* index into register table */
// short otype;
char *name; /* name */
extern int pic14_nRegs;
regs *pic14_regWithIdx (int);
-
+void pic14_freeAllRegs ();
+void pic14_deallocateAllRegs ();
+regs *pic14_findFreeReg(void);
enum PIC_register_types
{