libFirm
irgopt.h
1 /*
2  * This file is part of libFirm.
3  * Copyright (C) 2012 University of Karlsruhe.
4  */
5 
11 #ifndef FIRM_IR_IRGOPT_H
12 #define FIRM_IR_IRGOPT_H
13 
14 #include "firm_types.h"
15 #include "begin.h"
16 
28 FIRM_API void local_optimize_node(ir_node *n);
29 
35 FIRM_API ir_node *optimize_node(ir_node *n);
36 
44 FIRM_API void local_optimize_graph(ir_graph *irg);
45 
55 FIRM_API void optimize_graph_df(ir_graph *irg);
56 
60 FIRM_API void local_opts_const_code(void);
61 
65 FIRM_API void remove_unreachable_code(ir_graph *irg);
66 
72 FIRM_API void remove_bads(ir_graph *irg);
73 
79 FIRM_API void remove_tuples(ir_graph *irg);
80 
90 FIRM_API void remove_critical_cf_edges(ir_graph *irg);
91 
102 FIRM_API void remove_critical_cf_edges_ex(ir_graph *irg,
103  int ignore_exception_edges);
104 
107 #include "end.h"
108 
109 #endif
void remove_bads(ir_graph *irg)
Removes all Bad nodes from a graph.
void optimize_graph_df(ir_graph *irg)
Applies local optimizations (see iropt.h) to all nodes in the graph.
void local_optimize_node(ir_node *n)
Applies local optimizations (see iropt.h) to all nodes reachable from node n.
ir_node * optimize_node(ir_node *n)
Applies local optimizations to a single node.
void remove_unreachable_code(ir_graph *irg)
Eliminates (obviously) unreachable code.
void remove_tuples(ir_graph *irg)
Removes all Tuple nodes from a graph.
void remove_critical_cf_edges(ir_graph *irg)
Places an empty basic block on critical control flow edges thereby removing them. ...
void local_opts_const_code(void)
Perform local optimizations on nodes on const code irg.
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. ...
struct ir_node ir_node
Procedure Graph Node.
Definition: firm_types.h:53
void local_optimize_graph(ir_graph *irg)
Applies local optimizations (see iropt.h) to all nodes in the graph.
struct ir_graph ir_graph
Procedure Graph.
Definition: firm_types.h:74