* src/pic16/gen.c (pic16_popCopyReg): made copying work for extended
[fw/sdcc] / src / pic16 / device.h
index f25163331f7cb69712928763ccab8264bde0776a..717b681cda49051b4881d43b0d1d29b32510406a 100644 (file)
@@ -86,6 +86,10 @@ typedef struct PIC16_device {
 /* Given a pointer to a register, this macro returns the bank that it is in */
 #define REG_ADDR(r)        ((r)->isBitField ? (((r)->address)>>3) : (r)->address)
 
+#define OF_LR_SUPPORT          0x00000001
+#define OF_OPTIMIZE_GOTO       0x00000002
+#define OF_OPTIMIZE_CMP                0x00000004
+#define OF_OPTIMIZE_DF         0x00000008
 
 typedef struct {
   int no_banksel;
@@ -100,6 +104,9 @@ typedef struct {
   char *crt_name;
   int no_crt;
   int ip_stack;
+  unsigned long opt_flags;
+  int gstack;
+  unsigned int debgen;
 } pic16_options_t;
 
 #define STACK_MODEL_SMALL      (pic16_options.stack_model == 0)
@@ -108,6 +115,18 @@ typedef struct {
 extern set *fix_idataSymSet;
 extern set *rel_idataSymSet;
 
+extern set *asmInlineMap;
+
+typedef struct {
+  unsigned long isize;
+  unsigned long adsize;
+  unsigned long udsize;
+  unsigned long idsize;
+  unsigned long intsize;
+} stats_t;
+
+extern stats_t statistics;
+
 extern pic16_options_t pic16_options;
 extern PIC16_device *pic16;