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 {
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 jumpthreading; /**< enable jumpthreading */
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 */
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 load_store_pre; /**< enable new 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 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; /**< end block melting */
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 os_support; /**< current os support */
a_byte honor_restrict; /**< enable restrict keyword */
a_byte lower_bitfields; /**< lower bitfield access */
- 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 */
+ 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 vrfy_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 */