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 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 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 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 */