X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fir%2Firflag.h;h=f94341ec637d0e66c5637088b28483952b594350;hb=637542932dc27dcdfc7def09b58d9d5d4c34fb77;hp=2168535bee25d16aa53987a9be672cb133d8616b;hpb=eba4147619c151d82eaeef60115f61b6696bd6ff;p=libfirm diff --git a/ir/ir/irflag.h b/ir/ir/irflag.h index 2168535be..f94341ec6 100644 --- a/ir/ir/irflag.h +++ b/ir/ir/irflag.h @@ -186,7 +186,7 @@ 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 @@ -195,6 +195,24 @@ void set_opt_inline (int value); 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 behaviour 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. * * This flag enables/disables the optimization tail-recursion call. @@ -220,6 +238,14 @@ void set_opt_fragile_ops(int value); */ void set_opt_if_conversion(int value); +/** + * Enable/Disable real function call optimization. + * + * Real function call optimization detects "real functions" and + * allows the floationg of Call nodes. + */ +void set_opt_real_function_call(int value); + /** Enable/Disable normalizations of the firm representation. * * This flag guards transformations that normalize the firm representation