void set_opt_if_conversion(int value);
/**
- * Enable/Disable real function call optimization.
+ * Enable/Disable function call optimization.
*
- * Real function call optimization detects "real functions" and
- * allows the floating of Call nodes. A "real function" is one that
+ * Function call optimization detects const and pure functions and
+ * allows the CSE of Call nodes. A const function is one that
* do only evaluate it's parameters and did not read or write memory
- * to compute its results.
+ * to compute its results. Pure functions are allowed to read global memory.
*/
-void set_opt_real_function_call(int value);
+void set_opt_function_call(int value);
/**
* Enable/Disable Confirm node removal during local optimization.
*/
void set_opt_sel_based_null_check_elim(int value);
+/**
+ * Enable/Disable Automatic construction of Sync nodes during
+ * Firm construction.
+ *
+ * If this flags is set, sequential non-volatile Loads are automatically
+ * rearranged so that they can be executed in parallel by creating Sync nodes.
+ *
+ * This flags should be set for Java style languages.
+ */
+void set_opt_auto_create_sync(int value);
+
/** Enable/Disable normalizations of the firm representation.
*
* This flag guards transformations that normalize the Firm representation
*/
void set_opt_precise_exc_context(int value);
+/** Enable/Disable Alias analysis.
+ *
+ * If enabled, memory disambiguation by alias analysis is used.
+ */
+void set_opt_alias_analysis(int value);
+
/** Enable/Disable closed world assumption.
*
* If enabled, optimizations expect to know the "whole world", i.e. no