X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=src%2Fpic16%2Fpcode.h;h=b08204793b39bbe70ee8b70f8b5eb65112dff862;hb=67012d40979fd3584f926cfd9c200ffa4a16d338;hp=bb2c7613db7b1b50df64c7ab2c04edc13662a2eb;hpb=91070d31fe63aaa9412098be0aa469660b10822d;p=fw%2Fsdcc diff --git a/src/pic16/pcode.h b/src/pic16/pcode.h index bb2c7613..b0820479 100644 --- a/src/pic16/pcode.h +++ b/src/pic16/pcode.h @@ -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);