# 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.
* 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.
* 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.