#include "fe_common.h"
-enum an_os_support {
- OS_SUPPORT_LINUX, /**< create code for Linux OS */
- OS_SUPPORT_MINGW, /**< create code for MinGW WIN32 */
- OS_SUPPORT_MACHO /**< create code for MacOS Mach-O */
-} an_os_support;
-
enum a_debug_mode {
DBG_MODE_NONE = 0, /**< no special debug support */
DBG_MODE_BACKSTORE = 1, /**< backstores are created */
/* optimization settings */
struct a_firm_opt {
- 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 cse; /**< enable common-subexpression elimination */
- a_byte control_flow; /**< enable control flow optimizations */
- a_byte gcse; /**< enable global common-subexpression elimination */
- 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 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 cc_opt; /**< optimize calling conventions */
- a_byte freestanding; /**< if set, freestanding mode is enabled */
- a_byte fp_model; /**< fp model */
- 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 */
- 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 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 */
+ 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 cse; /**< enable common-subexpression elimination */
+ a_byte gcse; /**< enable global common-subexpression elimination */
+ 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 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 cc_opt; /**< optimize calling conventions */
+ a_byte fp_model; /**< fp model */
+ a_byte verify; /**< Firm verifier setting */
+ a_byte check_all; /**< enable checking all Firm phases */
+ a_byte lower; /**< enable Firm lowering */
+ a_byte honor_restrict; /**< enable restrict keyword */
+ a_byte lower_bitfields; /**< lower bitfield access */
+ a_byte pic; /**< generate position independent code */
+ 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 verify_edges; /**< verify edges */
+ a_byte grs_simd_opt;
+ a_byte grs_create_pattern;
+ a_byte enable_statev; /**< enable statev output */
+ const char *statev_filter; /**< statev filter */
};
/** statistic options */