adapt to latest firm changes
[cparser] / driver / firm_cmdline.h
index c16a2c3..484cb52 100644 (file)
@@ -14,7 +14,8 @@
 
 enum an_os_support {
   OS_SUPPORT_LINUX,         /**< create code for Linux OS */
-  OS_SUPPORT_MINGW          /**< create code for MinGW WIN32 */
+  OS_SUPPORT_MINGW,         /**< create code for MinGW WIN32 */
+  OS_SUPPORT_MACHO          /**< create code for MacOS Mach-O */
 } an_os_support;
 
 enum a_debug_mode {
@@ -31,13 +32,12 @@ struct a_firm_opt {
   a_byte   reassoc;         /**< enable reassociation */
   a_byte   cse;             /**< enable common-subexpression elimination */
   a_byte   control_flow;    /**< enable control flow optimizations */
-  a_byte   code_place;      /**< enable global common-subexpression elimination
-                                 and code placement */
+  a_byte   combo;           /**< enable combined CCE, UCE and GVN */
+  a_byte   gcse;            /**< enable global common-subexpression elimination */
   a_byte   gvn_pre;         /**< enable global common-subexpression elimination
                                  and partial redundancy elimination */
   a_byte   cond_eval;       /**< enable condition evaluation */
   a_byte   if_conversion;   /**< enable if-conversion */
-  a_byte   loop_unrolling;  /**< enable automatic loop unrolling */
   a_byte   func_calls;      /**< enable function call optimization */
   a_byte   do_inline;       /**< do automatic inlining */
   a_byte   auto_inline;     /**< current automatic inlining state */
@@ -54,16 +54,16 @@ struct a_firm_opt {
   a_byte   precise_exc;     /**< use precise exception context */
   a_byte   use_DivMod;      /**< use DivMod nodes */
   a_byte   remove_unused;   /**< remove unused functions */
-  a_byte   jmp_tbls;        /**< create jump table for switch */
   a_byte   cloning;         /**< enable procedure cloning */
   a_byte   auto_sync;       /**< automatically create Sync nodes */
   a_byte   alias_analysis;  /**< enable Alias Analysis */
   a_byte   strict_alias;    /**< enable strict Alias Analysis (using type based AA) */
   a_byte   no_alias;        /**< no aliasing possible. */
-  a_byte   luffig;          /**< enable fluffy load/store optimization */
+  a_byte   sync;            /**< use Syncs to remove unnecessary memory dependencies */
   a_byte   deconv;          /**< enable conv node optimization */
   a_byte   cc_opt;          /**< optimize calling conventions */
   a_byte   bool_opt;        /**< perform bool simplification */
+  a_byte   shape_blocks;    /**< block shaping */
   a_byte   freestanding;    /**< if set, freestanding mode is enabled */
   a_byte   fp_model;        /**< fp model */
   a_byte   lower_ll;        /**< lower double word access */
@@ -72,10 +72,14 @@ struct a_firm_opt {
   a_byte   lower;           /**< enable Firm lowering */
   a_byte   os_support;      /**< current os support */
   a_byte   honor_restrict;  /**< enable restrict keyword */
+  a_byte   lower_bitfields; /**< lower bitfield access */
+  a_byte   pic;             /**< generate position independent code */
   a_byte   ycomp_dbg;       /**< yComp debugger extension */
   char     *ycomp_host;     /**< The host, yComp is running on */
   int      ycomp_port;      /**< The port, yComp is listening on */
   int      clone_threshold; /**< The threshold value for procedure cloning. */
+  unsigned inline_maxsize;  /**< Maximum function size for inlining. */
+  unsigned inline_threshold;/**< Inlining benefice threshold. */
   a_byte   vrfy_edges;      /**< verify edges */
   a_byte   grs_simd_opt;
   a_byte   grs_create_pattern;
@@ -134,11 +138,6 @@ extern struct a_firm_dump firm_dump;
 extern struct a_firm_ext_grs firm_ext_grs;
 
 
-/**
- * prints the firm version number
- */
-void print_firm_version(FILE *f);
-
 /**
  * called by the generic command line parser
  * to handle the --firm= or -f options