+ if (value)
+ libFIRM_opt |= OPT_CLASS_CASTS;
+ else
+ libFIRM_opt &= ~OPT_CLASS_CASTS;
+}
+int (get_opt_optimize_class_casts) (void) {
+ return _get_opt_optimize_class_casts();
+}
+void set_opt_optimize_class_casts_verbose (int value)
+{
+ if (value)
+ libFIRM_verb |= OPT_CLASS_CASTS;
+ else
+ libFIRM_verb &= ~OPT_CLASS_CASTS;
+}
+int (get_opt_optimize_class_casts_verbose) (void) {
+ return _get_opt_optimize_class_casts_verbose();
+}
+void set_opt_suppress_downcast_optimization(int value)
+{
+ if (value)
+ libFIRM_opt |= OPT_SUPPRESS_DOWNCAST_OPT;
+ else
+ libFIRM_opt &= ~OPT_SUPPRESS_DOWNCAST_OPT;
+}
+int (get_opt_suppress_downcast_optimization)(void) {
+ return _get_opt_suppress_downcast_optimization();
+}
+
+
+/* Enable/Disable normalizations of the firm representation. */
+void set_opt_normalize(int value)
+{
+ if (value)
+ libFIRM_opt |= OPT_NORMALIZE;
+ else
+ libFIRM_opt &= ~OPT_NORMALIZE;
+}
+
+/* Enable/Disable optimization of tail-recursion calls. */
+void set_opt_tail_recursion(int value)
+{
+ if (value)
+ libFIRM_opt |= OPT_TAIL_RECURSION;
+ else
+ libFIRM_opt &= ~OPT_TAIL_RECURSION;
+}
+
+/* Enable/Disable optimization of tail-recursion calls. */
+void set_opt_tail_recursion_verbose(int value)
+{
+ if (value)
+ libFIRM_verb |= OPT_TAIL_RECURSION;
+ else
+ libFIRM_verb &= ~OPT_TAIL_RECURSION;
+}
+
+/* Enable/Disable precise exception context. */
+void set_opt_precise_exc_context(int value)
+{
+#if PRECISE_EXC_CONTEXT
+ if (value)
+ libFIRM_opt |= OPT_PRECISE_EXC_CONTEXT;
+ else
+ libFIRM_opt &= ~OPT_PRECISE_EXC_CONTEXT;
+#endif
+}
+
+void set_opt_fragile_ops(int value)
+{
+ if (value)
+ libFIRM_opt |= OPT_FRAGILE_OPS;
+ else
+ libFIRM_opt &= ~OPT_FRAGILE_OPS;
+}
+
+/* Enable/Disable if conversion. */
+void set_opt_if_conversion(int value)
+{
+ if (value)
+ libFIRM_opt |= OPT_IF_CONVERSION;
+ else
+ libFIRM_opt &= ~OPT_IF_CONVERSION;
+}
+
+/* Enable/Disable real function call optimization. */
+void set_opt_real_function_call(int value)
+{
+ if (value)
+ libFIRM_opt |= OPT_REAL_FUNC_CALL;
+ else
+ libFIRM_opt &= ~OPT_REAL_FUNC_CALL;
+}
+
+/* Enable/Disable Confirm node removal. */
+void set_opt_remove_Confirm(int value)
+{
+ if (value)
+ libFIRM_opt |= OPT_REMOVE_CONFIRM;
+ else
+ libFIRM_opt &= ~OPT_REMOVE_CONFIRM;