+
+/** 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);
+
+/** Enable/Disable optimization of tail-recursion calls.
+ *
+ * This flag enables/disables the optimization tail-recursion call.
+ * If the flag is turned on tail-recursion calls are optimized into loops.
+ */
+void set_opt_tail_recursion(int value);
+void set_opt_tail_recursion_verbose(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: 1
+ * @@@ ATTENTION: not all such transformations are guarded by a flag.
+ */
+void set_opt_normalize (int value);
+
+
+/** Enable/Disable precise exception context. */
+void set_opt_precise_exc_context(int value);
+
+/**
+ * Save the current optimization state.
+ */
+void save_optimization_state(optimization_state_t *state);
+
+/**
+ * Restore the current optimization state.
+ */
+void restore_optimization_state(const optimization_state_t *state);