Remove redundant test.
[libfirm] / include / libfirm / irflag.h
index 63e5f42..b25127e 100644 (file)
@@ -61,13 +61,20 @@ int  get_optimize(void);
 /** Enables/Disables constant folding optimization.
  *
  *  If opt_constant_folding == 1 perform
- *  - constant expression evaluation (2 + 5 ==> 7, 3 < 2 ==> false)
- *  - algebraic simplification  (a * 0 ==> 0, a or a ==> a)
- *  - simplification of tests   ( !(a < b) ==> (a >= b))
+ *  constant expression evaluation (2 + 5 ==> 7, 3 < 2 ==> false)
  * Default: opt_constant_folding == 1.
  */
 void set_opt_constant_folding(int value);
 
+/** Enables/Disables algebraic simplifications.
+ *
+ *  If opt_algebraic_simplification == 1 perform
+ *  - algebraic simplification  (a * 0 ==> 0, a or a ==> a)
+ *  - simplification of tests   ( !(a < b) ==> (a >= b))
+ * Default: opt_algebraic_simplification == 1.
+ */
+void set_opt_algebraic_simplification(int value);
+
 /** Enables/Disables common subexpression elimination.
  *
  * If opt_cse == 1 perform common subexpression elimination.
@@ -89,6 +96,15 @@ int get_opt_cse(void);
  */
 void set_opt_global_cse(int value);
 
+/** Enables/Disables usage of combo algorithm.
+ *
+ *  If opt_combo == 1 perform combo optimization
+ *  instead of combinations of optimiza_graph_df()/
+ *  optimize_graph_cf()
+ * Default: opt_combo == 1.
+ */
+void set_opt_combo(int value);
+
 /** Enables/Disables strength reduction.
  *
  * If opt_strength_red == 1 perform strength reduction.
@@ -196,10 +212,21 @@ void set_opt_ldst_only_null_ptr_exceptions(int value);
  * Enabling this flag is meaningless if ldst_non_null_exceptions is
  * enabled.
  *
- * This flags should be set for Java style languages.
+ * This flag should be set for Java style languages.
  */
 void set_opt_sel_based_null_check_elim(int value);
 
+/**
+ * Enable/Disable Global Null Pointer Test Elimination.
+ *
+ * In languages where it is illegal to dereference NULL pointer, doing
+ * so makes the pointer "valid non-null", else the program will stop
+ * anyway by a fault.
+ *
+ * This flag should be set for C style languages.
+ */
+void set_opt_global_null_ptr_elimination(int value);
+
 /**
  * Enable/Disable Automatic construction of Sync nodes during
  * Firm construction.
@@ -207,7 +234,7 @@ void set_opt_sel_based_null_check_elim(int value);
  * 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.
+ * This flag should be set for Java style languages.
  */
 void set_opt_auto_create_sync(int value);