|
libFirm
|
Functions | |
| void | local_optimize_node (ir_node *n) |
Applies local optimizations (see iropt.h) to all nodes reachable from node n. | |
| void | local_optimize_graph (ir_graph *irg) |
| Applies local optimizations (see iropt.h) to all nodes in the graph. | |
| void | local_opts (ir_graph *irg) |
| Applies local optimizations (see iropt.h) to all nodes in the graph. | |
| void | local_opts_const_code (void) |
| Perform local optimizations on nodes on const code irg. | |
| int | optimize_graph_df (ir_graph *irg) |
| Same functionality as local_opts above, but without framework wrapper. | |
| void | remove_unreachable_code (ir_graph *irg) |
| Eliminates (obviously) unreachable code. | |
| void | remove_bads (ir_graph *irg) |
| Removes all Bad nodes from a graph. | |
| void | remove_tuples (ir_graph *irg) |
| Removes all Tuple nodes from a graph. | |
| ir_graph_pass_t * | optimize_graph_df_pass (const char *name) |
| Creates an ir_graph pass for optimize_graph_df(). | |
| void | remove_critical_cf_edges (ir_graph *irg) |
| Places an empty basic block on critical control flow edges thereby removing them. | |
| void | remove_critical_cf_edges_ex (ir_graph *irg, int ignore_exception_edges) |
| Places an empty basic block on critical control flow edges thereby removing them. | |
| void local_optimize_graph | ( | ir_graph * | irg | ) |
Applies local optimizations (see iropt.h) to all nodes in the graph.
| irg | The graph to be optimized. |
After applying local_optimize_graph() to a IR-graph, Bad nodes only occur as predecessor of Block and Phi nodes.
| void local_optimize_node | ( | ir_node * | n | ) |
Applies local optimizations (see iropt.h) to all nodes reachable from node n.
| n | The node to be optimized. |
| void local_opts | ( | ir_graph * | irg | ) |
Applies local optimizations (see iropt.h) to all nodes in the graph.
After applying optimize_graph_df() to a IR-graph, Bad nodes only occur as predecessor of Block and Phi nodes.
This version uses fixpoint iteration.
| irg | The graph to be optimized. |
| void local_opts_const_code | ( | void | ) |
Perform local optimizations on nodes on const code irg.
| int optimize_graph_df | ( | ir_graph * | irg | ) |
Same functionality as local_opts above, but without framework wrapper.
| ir_graph_pass_t* optimize_graph_df_pass | ( | const char * | name | ) |
Creates an ir_graph pass for optimize_graph_df().
| name | the name of this pass or NULL |
| void remove_bads | ( | ir_graph * | irg | ) |
Removes all Bad nodes from a graph.
| irg | The graph to be optimized. |
| void remove_critical_cf_edges | ( | ir_graph * | irg | ) |
Places an empty basic block on critical control flow edges thereby removing them.
A critical control flow edge is an edge from a block with several control exits to a block with several control entries (See Muchnic p. 407). Exception edges are always ignored.
| irg | IR Graph |
| void remove_critical_cf_edges_ex | ( | ir_graph * | irg, |
| int | ignore_exception_edges | ||
| ) |
Places an empty basic block on critical control flow edges thereby removing them.
A critical control flow edge is an edge from a block with several control exits to a block with several control entries (See Muchnic p. 407).
| irg | IR Graph |
| ignore_exception_edges | if non-zero, exception edges will be ignored |
| void remove_tuples | ( | ir_graph * | irg | ) |
Removes all Tuple nodes from a graph.
| irg | The graph to be optimized. |
| void remove_unreachable_code | ( | ir_graph * | irg | ) |
Eliminates (obviously) unreachable code.