X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fir%2Firflag.h;h=fc28d11f13ce06b3c9ac0bd2a07370db9df4d821;hb=f9d25133f86594ca2b1f33fb0b41a591ecc9b914;hp=e6a91d5ca7a6215e5173658907f72e5f1f356236;hpb=825d357b40f2e2a33bd9a8ba0ac6098c4953f2ae;p=libfirm diff --git a/ir/ir/irflag.h b/ir/ir/irflag.h index e6a91d5ca..fc28d11f1 100644 --- a/ir/ir/irflag.h +++ b/ir/ir/irflag.h @@ -13,7 +13,7 @@ /** * @file irflag.h * - * Flags to customize the behaviour of libfirm. + * Flags to customize the behavior of libfirm. * * @author Christian Schaefer * @@ -186,13 +186,32 @@ void set_opt_dead_method_elimination_verbose (int value); */ void set_opt_inline (int value); -/** Enable/Disable optimization of dynamic method dispatch +/** Enable/Disable optimization of dynamic method dispatch. * * This flag enables/disables the optimization of dynamic method dispatch. * If the flag is turned on Sel nodes can be replaced by Const nodes representing * the address of a function. */ void set_opt_dyn_meth_dispatch (int value); +int get_opt_dyn_meth_dispatch (void); + +/** Enable/Disable type optimization of cast nodes. + * + * Controls the optimizations in tropt.h. Default: on. + */ +void set_opt_optimize_class_casts (int value); +int get_opt_optimize_class_casts (void); +void set_opt_optimize_class_casts_verbose (int value); +int get_opt_optimize_class_casts_verbose (void); + +/** Restricts the behavior of cast optimization. + * + * If set, downcast are not optimized if they might be + * illegal as in (Super)(Sub) (new Super()). Default: + * 0 == not suppressed. + */ +void set_opt_suppress_downcast_optimization(int value); +int get_opt_suppress_downcast_optimization(void); /** Enable/Disable optimization of tail-recursion calls. * @@ -211,6 +230,32 @@ void set_opt_tail_recursion_verbose(int value); */ void set_opt_fragile_ops(int value); +/** + * Enable/Disable if conversion. + * + * If conversion tries to turn Conds into Mux nodes to eliminate + * control flow. + */ +void set_opt_if_conversion(int value); + +/** + * Enable/Disable real function call optimization. + * + * Real function call optimization detects "real functions" and + * allows the floating of Call nodes. + */ +void set_opt_real_function_call(int value); + +/** + * Enable/Disable Confirm node removal during local optimization. + */ +void set_opt_remove_Confirm(int value); + +/** + * Enable/Disable scalar replacement optimization. + */ +void set_opt_scalar_replacement(int value); +void set_opt_scalar_replacement_verbose(int value); /** Enable/Disable normalizations of the firm representation. * @@ -240,4 +285,4 @@ void save_optimization_state(optimization_state_t *state); */ void restore_optimization_state(const optimization_state_t *state); -#endif +#endif /* _IRFLAG_H_ */