X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fbe%2Fia32%2Fia32_optimize.h;h=42aee4f4ff5a03c3b65cefdec3e206fa4a47297a;hb=fef8dc3eff6468d7d65485af8e1ac9884c504e1a;hp=09bd1774d63ff40efdebf945f7b972cedd42982b;hpb=8cb8fe7d9d69a9bd06365823d5d5f68d051f6db0;p=libfirm diff --git a/ir/be/ia32/ia32_optimize.h b/ir/be/ia32/ia32_optimize.h index 09bd1774d..42aee4f4f 100644 --- a/ir/be/ia32/ia32_optimize.h +++ b/ir/be/ia32/ia32_optimize.h @@ -1,5 +1,5 @@ /* - * 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. * @@ -21,7 +21,6 @@ * @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 @@ -32,19 +31,29 @@ /** * 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 */