* sim/ucsim/avr.src/arith_inst.cc: fixed bug #1088372- savr is not
[fw/sdcc] / src / SDCCpeeph.h
index 23b4a45196dd178b010da7387fa7ce5a4745c7fa..8ada22285ce4353626d5a48a7d90135df1b4276a 100644 (file)
 
 #define MAX_PATTERN_LEN 128
 
+struct asmLineNode;    /* defined in each port */
+struct lineNode;
+
 typedef struct lineNode
-{
-    char *line ;
+  {
+    char *line;
+    iCode *ic;
     unsigned int isInline:1;
     unsigned int isComment:1;
     unsigned int isDebug:1;
+    struct asmLineNode *aln;
     struct lineNode *prev;
     struct lineNode *next;
-} lineNode;
+  }
+lineNode;
 
 typedef struct peepRule
-{
-    lineNode *match ;
-    lineNode *replace ;
-    unsigned int restart : 1;
+  {
+    lineNode *match;
+    lineNode *replace;
+    unsigned int restart:1;
     char *cond;
     hTab *vars;
     struct peepRule *next;
-} peepRule;
+  }
+peepRule;
 
-void printLine (lineNode *,FILE *);
+void printLine (lineNode *, FILE *);
 lineNode *newLineNode (char *);
-lineNode *connectLine (lineNode *,lineNode *);
+lineNode *connectLine (lineNode *, lineNode *);
+void initPeepHole (void);
 void peepHole (lineNode **);
 
 #endif