* src/pic/gen.h: reverted the Q&D solution for the bug, found by Jim Paris,
[fw/sdcc] / src / pic16 / ralloc.h
index 71124bbbed82ac2680fba80905da87dff31d7aa7..653f973cc693f71ec8f0f1ed9a7728bd2fc56851 100644 (file)
@@ -108,6 +108,7 @@ extern set *pic16_rel_udata;
 extern set *pic16_fix_udata;
 extern set *pic16_equ_data;
 extern set *pic16_int_regs;
+extern set *pic16_acs_udata;
 
 regs *pic16_regWithIdx (int);
 regs *pic16_typeRegWithIdx(int, int, int);
@@ -117,31 +118,34 @@ regs *pic16_regWithName(char *name);
 void  pic16_freeAllRegs ();
 void  pic16_deallocateAllRegs ();
 regs *pic16_findFreeReg(short type);
+regs *pic16_findFreeRegNext(short type, regs *creg);
 regs *pic16_allocWithIdx (int idx);
 
 regs *pic16_allocDirReg (operand *op );
 regs *pic16_allocRegByName (char *name, int size, operand *op);
+extern char *pic16_decodeOp(unsigned int op);
 
-regs* newReg(short type, short pc_type, int rIdx, char *name, int size, int alias, operand *refop);
+regs* newReg(int type, short pc_type, int rIdx, char *name, unsigned size, int alias, operand *refop);
 
 /* Define register address that are constant across PIC16 family */
 #define IDX_TMR0    0xfd6
-#define IDX_PCL     0xff9
 #define IDX_STATUS  0xfd8
-#define IDX_PCLATH  0xffa
-#define IDX_PCLATU  0xffb /* patch 14 */
 #define IDX_INTCON  0xff2
 #define IDX_WREG    0xfe8
 #define IDX_BSR     0xfe0
 
-#define IDX_TOSL    0xffd /* patch 14 */
-#define IDX_TOSH    0xffe /* patch 14 */
-#define IDX_TOSU    0xfff /* patch 14 */
+#define IDX_PCL     0xff9
+#define IDX_PCLATH  0xffa
+#define IDX_PCLATU  0xffb 
+
+#define IDX_TOSL    0xffd
+#define IDX_TOSH    0xffe
+#define IDX_TOSU    0xfff
 
-#define IDX_TBLPTRL 0xff6 /* patch 15 */
-#define IDX_TBLPTRH 0xff7 /* patch 15 */
-#define IDX_TBLPTRU 0xff8 /* patch 15 */
-#define IDX_TABLAT  0xff5 /* patch 15 */
+#define IDX_TBLPTRL 0xff6
+#define IDX_TBLPTRH 0xff7
+#define IDX_TBLPTRU 0xff8
+#define IDX_TABLAT  0xff5
 
 #define IDX_FSR0    0xfe9
 #define IDX_FSR0L   0xfe9
@@ -186,4 +190,7 @@ regs* newReg(short type, short pc_type, int rIdx, char *name, int size, int alia
 #define IDX_WSAVE   0x7ffe
 #define IDX_SSAVE   0x7ffd
 
+#define IDX_GPSIMIO    0xf7f
+#define IDX_GPSIMIO2   0xf7e
+
 #endif