X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fir%2Firflag.h;h=f94341ec637d0e66c5637088b28483952b594350;hb=637542932dc27dcdfc7def09b58d9d5d4c34fb77;hp=2a9520192ac80380239f0183f7fe57f5db397650;hpb=d7a5c3903c4af7a74628f61f0ec36bc688749165;p=libfirm diff --git a/ir/ir/irflag.h b/ir/ir/irflag.h index 2a9520192..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.