X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fir%2Firflag_t.h;h=7e14ac979d369b76636db94b2e03e995b6d58be1;hb=8399216d8aebc713bbda04b6e3e250a1d52b20bf;hp=2b18953b06bf7790494bb15a18d72dc50513d051;hpb=0d61e9cc180a7f713c62e563b24871106558c91f;p=libfirm diff --git a/ir/ir/irflag_t.h b/ir/ir/irflag_t.h index 2b18953b0..7e14ac979 100644 --- a/ir/ir/irflag_t.h +++ b/ir/ir/irflag_t.h @@ -78,8 +78,10 @@ typedef enum { /** precise exception context */ OPT_PRECISE_EXC_CONTEXT = 0x00008000, + /** EMPTY SLOT !!! TO BE ASSIGNED */ - /** EMPTY SLOT !!! TO BE ASSIGNED */ + /** Do loop unrolling */ + OPT_LOOP_UNROLLING = 0x00010000, /** Do Strength reduction */ OPT_STRENGTH_RED = 0x00020000, @@ -87,6 +89,9 @@ typedef enum { /** Optimize Loads and Stores */ OPT_REDUNDANT_LOADSTORE = 0x00040000, + /** Optimize Fragile OPs */ + OPT_FRAGILE_OPS = 0x00080000, + /** Turn off all optimizations. */ OPT_OPTIMIZED = 0x40000000, @@ -110,6 +115,17 @@ static INLINE int get_opt_global_cse(void) return libFIRM_opt & OPT_GLOBAL_CSE; } +static INLINE int get_opt_loop_unrolling(void) +{ + return libFIRM_opt & OPT_LOOP_UNROLLING; +} + +/** Returns verbosity for loop unrolling. */ +static INLINE int get_opt_loop_unrolling_verbose(void) +{ + return libFIRM_verb & OPT_LOOP_UNROLLING; +} + static INLINE int get_opt_strength_red(void) { return libFIRM_opt & OPT_STRENGTH_RED; @@ -231,6 +247,11 @@ static INLINE int get_opt_precise_exc_context(void) return libFIRM_opt & OPT_PRECISE_EXC_CONTEXT; } +/** Returns fragile ops setting. */ +static INLINE int get_opt_fragile_ops(void) +{ + return libFIRM_opt & OPT_FRAGILE_OPS; +} #define get_opt_cse() _get_opt_cse()