2 * This file is part of libFirm.
3 * Copyright (C) 2012 University of Karlsruhe.
8 * @brief Implements several optimizations for IA32.
9 * @author Christian Wuerdig
11 #ifndef FIRM_BE_IA32_IA32_OPTIMIZE_H
12 #define FIRM_BE_IA32_IA32_OPTIMIZE_H
15 #include "bearch_ia32_t.h"
18 * Prepares irg for codegeneration. Places consts and transform reference mode
19 * nodes into mode_Iu nodes.
21 void ia32_pre_transform_phase(ir_graph *irg);
24 * Performs conv and address mode optimizations.
25 * @param cg The ia32 codegenerator object
27 void ia32_optimize_graph(ir_graph *irg);
30 * Performs Peephole Optimizations an a graph.
32 * @param irg the graph
33 * @param cg the code generator object
35 void ia32_peephole_optimization(ir_graph *irg);
37 /** Initialize the ia32 address mode optimizer. */
38 void ia32_init_optimize(void);
41 * Creates an immediate node.
43 ir_node *ia32_immediate_from_long(long val);
45 #endif /* FIRM_BE_IA32_IA32_OPTIMIZE_H */