projects
/
fw
/
sdcc
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
* support/regression/tests/fetchoverlap.c: Added new test case.
[fw/sdcc]
/
src
/
pic
/
ralloc.h
diff --git
a/src/pic/ralloc.h
b/src/pic/ralloc.h
index 1ce9ee8ad65d08e077f1bc18159cc42e4bd3c5da..37e37dbc6b09a1c722e9efc80c0de76f3d7367ab 100644
(file)
--- a/
src/pic/ralloc.h
+++ b/
src/pic/ralloc.h
@@
-28,6
+28,8
@@
#ifndef SDCCRALLOC_H
#define SDCCRALLOC_H 1
#ifndef SDCCRALLOC_H
#define SDCCRALLOC_H 1
+
+
enum
{
R2_IDX = 0, R3_IDX, R4_IDX,
enum
{
R2_IDX = 0, R3_IDX, R4_IDX,
@@
-41,11
+43,15
@@
enum
#define REG_PTR 0x01
#define REG_GPR 0x02
#define REG_CND 0x04
#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
/* 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 */
short rIdx; /* index into register table */
// short otype;
char *name; /* name */
@@
-60,7
+66,9
@@
extern regs regspic14[];
extern int pic14_nRegs;
regs *pic14_regWithIdx (int);
extern int pic14_nRegs;
regs *pic14_regWithIdx (int);
-
+void pic14_freeAllRegs ();
+void pic14_deallocateAllRegs ();
+regs *pic14_findFreeReg(void);
enum PIC_register_types
{
enum PIC_register_types
{