Implemented cf optimizations.
[libfirm] / ir / ir / irflag.h
index ffeddfd..349e2b0 100644 (file)
@@ -28,19 +28,34 @@ int  get_optimize (void);
 void set_opt_constant_folding (int value);
 int  get_opt_constant_folding (void);
 
-/* If opt_cse == 1 perfor constant subexpression elimination
-   (and, if implemented, global code motion.  @@@ Right now
-   cse only within blocks.
+/* If opt_cse == 1 perform constant subexpression elimination.
    Default: opt_cse == 1. */
 void set_opt_cse (int value);
 int  get_opt_cse (void);
 
+/* If opt_global_cse == 1 and opt_cse == 1 perform intra procedure
+   constant subexpression elimination for floating nodes.  Intra
+   procedure cse gets the graph into state "floating".  It is necessary
+   to run pre/code motion to get the graph back into state "pinned".
+   Default: opt_global_cse == 1. */
+void set_opt_global_cse (int value);
+int  get_opt_global_cse (void);
+
 /* 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. */
 inline void set_opt_unreachable_code(int value);
 inline int  get_opt_unreachable_code(void);
 
+/* Performs Straightening, if simplifications and loop simplifications. */
+inline void set_opt_control_flow(int value);
+inline int  get_opt_control_flow(void);
+
+/* If opt_reassociation == 1 reassociation is performed.
+   Default: opt_reassociation == 1. */
+inline void set_opt_reassociation(int value);
+inline int  get_opt_reassociation(void);
+
 /* If opt_dead_node_elimination == 1 deallocate all dead nodes
    by copying the firm graph.
    Default: opt_dead_node_elimination == 0.  @@@ as buggy, else 1. */