a_byte enabled; /**< enable all optimizations */
a_byte debug_mode; /**< debug mode: store all local variables */
a_byte const_folding; /**< enable constant folding */
- a_byte reassoc; /**< enable reassociation */
a_byte cse; /**< enable common-subexpression elimination */
a_byte control_flow; /**< enable control flow optimizations */
- 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 func_calls; /**< enable function call optimization */
- a_byte do_inline; /**< do automatic inlining */
- a_byte auto_inline; /**< current automatic inlining state */
- a_byte tail_rec; /**< tail recursion optimization */
- a_byte strength_red; /**< enable strength reduction */
- a_byte scalar_replace; /**< enable scalar replacement */
a_byte confirm; /**< enable Confirm optimization */
a_byte muls; /**< enable architecture dependent mul optimization */
a_byte divs; /**< enable architecture dependent div optimization */
a_byte mods; /**< enable architecture dependent mod optimization */
- a_byte fragile_ops; /**< enable fragile ops optimization */
- a_byte load_store; /**< enable load store optimization */
- a_byte modes; /**< enable integer mode optimizations */
- a_byte precise_exc; /**< use precise exception context */
- a_byte use_DivMod; /**< use DivMod nodes */
- a_byte remove_unused; /**< remove unused functions */
- 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 deconv; /**< enable conv node optimization */
a_byte cc_opt; /**< optimize calling conventions */
- a_byte bool_opt; /**< perform bool simplification */
a_byte freestanding; /**< if set, freestanding mode is enabled */
a_byte fp_model; /**< fp model */
- a_byte lower_ll; /**< lower double word access */
- a_byte vrfy; /**< Firm verifier setting */
+ a_byte verify; /**< Firm verifier setting */
a_byte check_all; /**< enable checking all Firm phases */
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. */
- a_byte vrfy_edges; /**< verify edges */
+ unsigned inline_maxsize; /**< Maximum function size for inlining. */
+ unsigned inline_threshold;/**< Inlining benefice threshold. */
+ a_byte verify_edges; /**< verify edges */
a_byte grs_simd_opt;
a_byte grs_create_pattern;
unsigned spare_size; /**< allowed spare size for table switches in machine words. */
+ a_byte enable_statev; /**< enable statev output */
+ char *statev_filter; /**< statev filter */
};
/** statistic options */
a_byte extbb; /**< dumps extended basic blocks */
a_byte ir_graph; /**< dump all graphs */
a_byte all_phases; /**< dump the IR graph after all phases */
- a_byte edge_labels; /**< use edge labels when dumping IR graphs */
a_byte statistic; /**< Firm statistic setting */
a_byte stat_pattern; /**< enable Firm statistic pattern */
a_byte stat_dag; /**< enable Firm DAG statistic */
- a_byte gen_firm_asm; /**< generate Firm assembler and exit */
char *filter; /**< the dump filter */
};
extern struct a_firm_dump firm_dump;
extern struct a_firm_ext_grs firm_ext_grs;
+void print_option_help(const char *name, const char *description);
/**
* prints the firm version number
*/
int firm_option(const char *opt);
-/**
- * called by the generic command line parser
- * to handle the --backend= or -b options
- */
-int firm_be_option(const char *opt);
-
-#endif /* FIRM_CMDLINE_H */
+#endif