/*
- * Copyright (C) 1995-2007 University of Karlsruhe. All right reserved.
+ * Copyright (C) 1995-2008 University of Karlsruhe. All right reserved.
*
* This file is part of libFirm.
*
* @file
* @brief Implements several optimizations for IA32.
* @author Christian Wuerdig
- * @version $Id$
*/
#ifndef FIRM_BE_IA32_IA32_OPTIMIZE_H
#define FIRM_BE_IA32_IA32_OPTIMIZE_H
/**
* Prepares irg for codegeneration. Places consts and transform reference mode
* nodes into mode_Iu nodes.
- * @param cg The ia32 codegenerator object
*/
-void ia32_pre_transform_phase(ia32_code_gen_t *cg);
+void ia32_pre_transform_phase(ir_graph *irg);
/**
- * Performs address mode optimization.
+ * Performs conv and address mode optimizations.
* @param cg The ia32 codegenerator object
*/
-void ia32_optimize_addressmode(ia32_code_gen_t *cg);
+void ia32_optimize_graph(ir_graph *irg);
+
+/**
+ * Performs Peephole Optimizations an a graph.
+ *
+ * @param irg the graph
+ * @param cg the code generator object
+ */
+void ia32_peephole_optimization(ir_graph *irg);
+
+/** Initialize the ia32 address mode optimizer. */
+void ia32_init_optimize(void);
/**
- * Performs Peephole Optimizations
+ * Creates an immediate node.
*/
-void ia32_peephole_optimization(ir_graph *irg, ia32_code_gen_t *cg);
+ir_node *ia32_immediate_from_long(long val);
#endif /* FIRM_BE_IA32_IA32_OPTIMIZE_H */