X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fbe%2Fia32%2Fia32_optimize.h;h=e0ef59cf7c38faad8f5143fbceba4bf3b1897ed3;hb=a1a465eb2b3f54027b29f829423fffd0396937f4;hp=4ab5434d9ca3564bcf7444178617832dded6be53;hpb=3fc3031d36f426154897cfa1c6cac5d24ad4cb7f;p=libfirm diff --git a/ir/be/ia32/ia32_optimize.h b/ir/be/ia32/ia32_optimize.h index 4ab5434d9..e0ef59cf7 100644 --- a/ir/be/ia32/ia32_optimize.h +++ b/ir/be/ia32/ia32_optimize.h @@ -1,18 +1,28 @@ +/** + * Function prototypes for ia32 optimizations + * @author Christian Wuerdig + * $Id$ + */ + #ifndef _IA32_OPTIMIZE_H_ #define _IA32_OPTIMIZE_H_ /** - * Transforms a Firm Const into an ia32 Const and places it - * in the Block where it's used. - * This function is called by a walker. + * 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); + +/** + * Performs address mode optimization. + * @param cg The ia32 codegenerator object */ -void ia32_place_consts(ir_node *irn, void *env); +void ia32_optimize_addressmode(ia32_code_gen_t *cg); /** - * Checks for address mode patterns and performs the - * necessary transformations. - * This function is called by a walker. + * Performs Peephole Optimizations */ -void ia32_optimize_am(ir_node *irn, void *env); +void ia32_peephole_optimization(ir_graph *irg, ia32_code_gen_t *cg); #endif /* _IA32_OPTIMIZE_H_ */