X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fbe%2Fia32%2Fia32_optimize.h;h=e0ef59cf7c38faad8f5143fbceba4bf3b1897ed3;hb=a1a465eb2b3f54027b29f829423fffd0396937f4;hp=01df278471241fbdcdea3e431deb4d0fe88a9d51;hpb=1dae71d8640e600817ff69045008bf73c4bc14b2;p=libfirm diff --git a/ir/be/ia32/ia32_optimize.h b/ir/be/ia32/ia32_optimize.h index 01df27847..e0ef59cf7 100644 --- a/ir/be/ia32/ia32_optimize.h +++ b/ir/be/ia32/ia32_optimize.h @@ -1,19 +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. - * Additionally all mode_P nodes are changed into mode_Is nodes. - * 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_set_modes(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_ */