X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=include%2Flibfirm%2Firflag.h;h=780580f28d9bbbe44f0e358bf6cac31e78527ad3;hb=1553e92153d3b718a7f5575dcbbe8abbffc579c0;hp=e780cb535a518080e37c767ec782314accca3372;hpb=ab182d4b9ed44239ab3ff1d08b2f8e14a3699ccf;p=libfirm diff --git a/include/libfirm/irflag.h b/include/libfirm/irflag.h index e780cb535..780580f28 100644 --- a/include/libfirm/irflag.h +++ b/include/libfirm/irflag.h @@ -97,34 +97,6 @@ FIRM_API int get_opt_cse(void); */ FIRM_API void set_opt_global_cse(int value); -/** Enables/Disables unreachable code elimination. - * - * If set, evaluate conditions of conditional branch and replace the - * branch with a Jmp/Bad Tuple. - * - * If opt_unreachable_code == 1 replace nodes (except Block, - * Phi and Tuple) with a Bad predecessor by the Bad node. - * Default: opt_unreachable_code == 1. - */ -FIRM_API void set_opt_unreachable_code(int value); - -/** Enables/Disables control flow optimizations. - * - * Performs Straightening, if simplifications and loop simplifications. - * Sets all separate control flow flags (control_flow_straightening, - * weak_simplification, strong_simplification and critical_edges). - */ -FIRM_API void set_opt_control_flow(int value); - -/** Enables/Disables Straightening. */ -FIRM_API void set_opt_control_flow_straightening(int value); - -/** Enables/Disables if simplifications in local optimizations. */ -FIRM_API void set_opt_control_flow_weak_simplification(int value); - -/** Enables/Disables strong if and loop simplification (in optimize_cf). */ -FIRM_API void set_opt_control_flow_strong_simplification(int value); - /** Enable/Disable optimization of dynamic method dispatch. * * This flag enables/disables the optimization of dynamic method dispatch. @@ -134,12 +106,6 @@ FIRM_API void set_opt_control_flow_strong_simplification(int value); FIRM_API void set_opt_dyn_meth_dispatch(int value); FIRM_API int get_opt_dyn_meth_dispatch(void); -/** Enable/Disable type optimization of cast nodes. - * - * Controls the optimizations in tropt.h. Default: on. - */ -FIRM_API void set_opt_optimize_class_casts(int value); - /** Restricts the behavior of cast optimization. * * If set, downcast are not optimized if they might be @@ -149,20 +115,6 @@ FIRM_API void set_opt_optimize_class_casts(int value); FIRM_API void set_opt_suppress_downcast_optimization(int value); FIRM_API int get_opt_suppress_downcast_optimization(void); -/** Enable/Disable floating of fragile ops. - * - * This flags enables/disables the floating of fragile operations. - * If this flag is on, fragile operations which are known to NOT raise - * an exception can be place to other basic blocks. - * Otherwise they remain in the block they were created. - */ -FIRM_API void set_opt_fragile_ops(int value); - -/** - * Enable/Disable Confirm node removal during local optimization. - */ -FIRM_API void set_opt_remove_confirm(int value); - /** * Enable/Disable Null exception in Load and Store nodes only. * @@ -216,44 +168,6 @@ FIRM_API void set_opt_global_null_ptr_elimination(int value); */ FIRM_API void set_opt_auto_create_sync(int value); -/** Enable/Disable normalizations of the firm representation. - * - * This flag guards transformations that normalize the Firm representation - * as removing Ids and Tuples, useless Phis, replacing SymConst(id) by - * Const(entity) and others. - * The transformations guarded by this flag are not guarded by flag - * "optimize". - * Many algorithms operating on Firm can not deal with constructs in - * the non-normalized representation. - * default: ON - * - * @note ATTENTION: not all such transformations are guarded by a flag. - */ -FIRM_API void set_opt_normalize(int value); - -/** - * Enable/Disable ConvB() nodes with a "semantic behavior", i.e. a real - * operation that must be executed. - */ -FIRM_API void set_opt_allow_conv_b(int value); - -/** Enable/Disable precise exception context. - * - * If enabled, all exceptions form a barrier for values, as in the - * following example: - * - * @code - * a = 1; - * b = 3 / 0; - * a = 2; - * @endcode - * - * If precise exception handling is enabled, an exception handler see a == 1, - * else it might see a == 2. - * Enable this for languages with strict exception order like Java. - */ -FIRM_API void set_opt_precise_exc_context(int value); - /** Enable/Disable Alias analysis. * * If enabled, memory disambiguation by alias analysis is used. @@ -287,10 +201,10 @@ FIRM_API void all_optimizations_off(void); * Possible verification modes. */ typedef enum firm_verification_t { - FIRM_VERIFICATION_OFF = 0, /**< do not verify nodes at all */ - FIRM_VERIFICATION_ON = 1, /**< do node verification and assert on error in debug version */ - FIRM_VERIFICATION_REPORT = 2, /**< do node verification, but report to stderr only */ - FIRM_VERIFICATION_ERROR_ONLY = 3 /**< do node verification, but NEVER do assert nor report */ + FIRM_VERIFICATION_OFF = 0, /**< do not verify nodes at all */ + FIRM_VERIFICATION_ON = 1, /**< do node verification and assert on error in debug version */ + FIRM_VERIFICATION_REPORT = 2, /**< do node verification, but report to stderr only */ + FIRM_VERIFICATION_ERROR_ONLY = 3 /**< do node verification, but NEVER do assert nor report */ } firm_verification_t; /** Select verification of IR nodes and types.