* src/pic16/ralloc.c (pic16_allocDirReg): use device specific
[fw/sdcc] / src / pic16 / pcode.h
index bb2c7613db7b1b50df64c7ab2c04edc13662a2eb..b08204793b39bbe70ee8b70f8b5eb65112dff862 100644 (file)
@@ -582,6 +582,7 @@ typedef struct pCodeCSource
  contiguous chunk.
 
 **************************************************/
+struct defmap_s; // defined in pcode.c
 
 typedef struct pCodeFlow
 {
@@ -614,6 +615,13 @@ typedef struct pCodeFlow
 
   set *registers;/* Registers used in this flow */
 
+  struct defmap_s *defmap;     /* chronologically ordered list of definitions performed
+                          in this flow (most recent at the front) */
+  struct defmap_s *in_vals;    /* definitions of all symbols reaching this flow
+                                * symbols with multiple different definitions are stored
+                                * with an assigned value of 0. */
+  struct defmap_s *out_vals;   /* definitions valid AFTER thie flow */
+
 } pCodeFlow;
 
 /*************************************************
@@ -1011,6 +1019,7 @@ pCodeOp *pic16_newpCodeOpImmd(char *name, int offset, int index, int code_space)
 pCodeOp *pic16_newpCodeOpLit(int lit);
 pCodeOp *pic16_newpCodeOpLit2(int lit, pCodeOp *arg2);
 pCodeOp *pic16_newpCodeOpBit(char *name, int bit,int inBitSpace, PIC_OPTYPE subt);
+pCodeOp *pic16_newpCodeOpBit_simple (struct asmop *op, int offs, int bit);
 pCodeOp *pic16_newpCodeOpRegFromStr(char *name);
 pCodeOp *pic16_newpCodeOpReg(int rIdx);
 pCodeOp *pic16_newpCodeOp(char *name, PIC_OPTYPE p);