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