Bad and Unknown are pinned instructions yet, speeding up code placement
[libfirm] / ir / ir / irgopt.h
index 2175030..e66d893 100644 (file)
 
 # include "irgraph.h"
 
-/** Applies local optimizations (see iropt.h) to all nodes in the graph. */
+/** Applies local optimizations (see iropt.h) to all nodes reachable from node n.
+ *
+ * @param n The node to be optimized. */
+void local_optimize_node(ir_node *n);
+
+/** Applies local optimizations (see iropt.h) to all nodes in the graph.
+ *
+ * @param irg  The graph to be optimized. */
 void local_optimize_graph (ir_graph *irg);
 
 /** Performs dead node elimination by copying the ir graph to a new obstack.
@@ -38,19 +45,24 @@ void local_optimize_graph (ir_graph *irg);
  *  Dead_node_elimination is only performed if options `optimize' and
  *  `opt_dead_node_elimination' are set.  The graph may
  *  not be in state phase_building.  The outs datasturcture is freed,
- *  the outs state set to no_outs.  Backedge information is conserved.
+ *  the outs state set to outs_none.  Backedge information is conserved.
  *  Removes old attributes of nodes.  Sets link field to NULL.
  *  Callee information must be freed (irg_callee_info_none).
  *
  *  Attention: the numbers assigned to nodes if the library is compiled for
- *  development/debugging are not conserved by copying. */
+ *  development/debugging are not conserved by copying.
+ *
+ * @param irg  The graph to be optimized. */
 void dead_node_elimination(ir_graph *irg);
 
-/** Removes Bad Bad predecesors from Blocks and the corresponding
-    inputs to Phi nodes as in dead_node_elimination but without
-    copying the graph.
-
-    @todo not implemented! / buggy?  */
+/**  Cleans the control flow from Bad predecesors.
+ *
+ * Removes Bad predecesors from Blocks and the corresponding
+ * inputs to Phi nodes as in dead_node_elimination but without
+ * copying the graph.
+ *
+ * @param irg  The graph to be optimized.
+ */
 void remove_bad_predecessors(ir_graph *irg);
 
 /** Inlines a method at the given call site.
@@ -75,7 +87,7 @@ void remove_bad_predecessors(ir_graph *irg);
  *  Sets visited masterflag in current_ir_graph to the max of the flag in
  *  current and called graph.
  *  Assumes that both, the called and the calling graph are in state
- *  "pinned".
+ *  "op_pin_state_pinned".
  *  It is recommended to call local_optimize_graph after inlining as this
  *  function leaves a set of obscure Tuple nodes, e.g. a Proj-Tuple-Jmp
  *  combination as control flow operation.