Added access routines to external variables.
[libfirm] / ir / ir / irflag.h
index bddfaec..35d9277 100644 (file)
@@ -6,6 +6,8 @@
 ** irflag --- optimization flags
 */
 
+/* $Id$ */
+
 #ifndef _IRFLAG_H_
 #define _IRFLAG_H_
 
@@ -26,18 +28,33 @@ 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);
+void set_opt_unreachable_code(int value);
+int  get_opt_unreachable_code(void);
+
+/* Performs Straightening, if simplifications and loop simplifications. */
+void set_opt_control_flow(int value);
+int  get_opt_control_flow(void);
+
+/* If opt_reassociation == 1 reassociation is performed.
+   Default: opt_reassociation == 1. */
+void set_opt_reassociation(int value);
+int  get_opt_reassociation(void);
 
 /* If opt_dead_node_elimination == 1 deallocate all dead nodes
    by copying the firm graph.