* src/SDCCpeeph.c (deadMove),
[fw/sdcc] / src / port.h
index 0b0ae7580e45a6c8109c2a5807fe23508dc047e4..93e03b4141bdcfe952ee780549e8a06a593eb88d 100644 (file)
@@ -8,6 +8,7 @@
 #include "SDCCicode.h"
 #include "SDCCargs.h"
 #include "SDCCpeeph.h"
+#include "mcs51/peep.h"
 
 #define TARGET_ID_MCS51    1
 #define TARGET_ID_GBZ80    2
@@ -38,9 +39,9 @@
 /* definition of builtin functions */
 typedef struct builtins
   {
-    char *name;                 /* name of builtin function */
-    char *rtype;                /* return type as string : see typefromStr */
-    int  nParms;                /* number of parms : max 8 */
+    char *name;                         /* name of builtin function */
+    char *rtype;                        /* return type as string : see typefromStr */
+    int  nParms;                        /* number of parms : max 8 */
     char *parm_types[MAX_BUILTIN_ARGS]; /* each parm type as string : see typeFromStr */
   } builtins;
 
@@ -131,6 +132,7 @@ typedef struct
         int (*getSize)(lineNode *line);
         bitVect * (*getRegsRead)(lineNode *line);
         bitVect * (*getRegsWritten)(lineNode *line);
+        bool (*deadMove) (const char *reg, lineNode *currPl, lineNode *head);
       }
     peep;
 
@@ -180,6 +182,8 @@ typedef struct
         const char *xinit_name; // a code copy of xidata
         const char *const_name; // const data (code or not)
         const char *cabs_name; // const absolute data (code or not)
+       const char *xabs_name; // absolute xdata/pdata
+       const char *iabs_name; // absolute idata/data
         struct memmap *default_local_map; // default location for auto vars
         struct memmap *default_globl_map; // default location for globl vars
         int code_ro;            /* code space read-only 1=yes */