From: Michael Beck Date: Sun, 2 Apr 2006 21:19:52 +0000 (+0000) Subject: interface changed: outfile is transmitted to the isa, not to the code generators X-Git-Url: http://nsz.repo.hu/git/?a=commitdiff_plain;h=622c00b8818a9848ece7e77fb3e6bfe5d984d4fc;p=libfirm interface changed: outfile is transmitted to the isa, not to the code generators --- diff --git a/ir/be/bearch.c b/ir/be/bearch.c index 8ff66289c..4ed3a95a4 100644 --- a/ir/be/bearch.c +++ b/ir/be/bearch.c @@ -30,10 +30,11 @@ #include "irprintf.h" -arch_env_t *arch_env_init(arch_env_t *env, const arch_isa_if_t *isa_if) +/* Initialize the architecture environment struct. */ +arch_env_t *arch_env_init(arch_env_t *env, const arch_isa_if_t *isa_if, FILE *file_handle) { memset(env, 0, sizeof(*env)); - env->isa = isa_if->init(); + env->isa = isa_if->init(file_handle); return env; } diff --git a/ir/be/bearch.h b/ir/be/bearch.h index 060d0b9ae..9a093d66a 100644 --- a/ir/be/bearch.h +++ b/ir/be/bearch.h @@ -19,7 +19,7 @@ struct _be_node_factory_t; typedef enum _arch_register_type_t { - arch_register_type_none = 0, + arch_register_type_none = 0, arch_register_type_caller_save = 1, /**< The register must be saved by the caller upon a function call. It thus can be overwritten in the called function. */ @@ -417,11 +417,10 @@ struct _arch_irn_handler_t { struct _arch_code_generator_if_t { /** * Initialize the code generator. - * @param file The file to dump to. * @param birg A backend IRG session. * @return A newly created code generator. */ - void *(*init)(FILE *file, const be_irg_t *birg); + void *(*init)(const be_irg_t *birg); /** * Called before abi introduce. @@ -500,8 +499,10 @@ struct _arch_isa_if_t { /** * Initialize the isa interface. + * @param file_handle the file handle to write the output to + * @return a new isa instance */ - void *(*init)(void); + void *(*init)(FILE *file_handle); /** * Free the isa instance. @@ -610,10 +611,11 @@ struct _arch_env_t { /** * Initialize the architecture environment struct. - * @param isa The isa which shall be put into the environment. + * @param isa The isa which shall be put into the environment. + * @param file_handle The file handle * @return The environment. */ -extern arch_env_t *arch_env_init(arch_env_t *env, const arch_isa_if_t *isa); +extern arch_env_t *arch_env_init(arch_env_t *env, const arch_isa_if_t *isa, FILE *file_handle); /** * Add a node handler to the environment. diff --git a/ir/be/bemain.c b/ir/be/bemain.c index fb8194d93..e2962e0a9 100644 --- a/ir/be/bemain.c +++ b/ir/be/bemain.c @@ -189,7 +189,7 @@ void be_init(void) phi_class_init(); } -static be_main_env_t *be_init_env(be_main_env_t *env) +static be_main_env_t *be_init_env(be_main_env_t *env, FILE *file_handle) { memset(env, 0, sizeof(*env)); obstack_init(&env->obst); @@ -197,7 +197,7 @@ static be_main_env_t *be_init_env(be_main_env_t *env) env->options = &be_options; FIRM_DBG_REGISTER(env->dbg, "be.main"); - arch_env_init(env->arch_env, isa_if); + arch_env_init(env->arch_env, isa_if, file_handle); /* Register the irn handler of the architecture */ if (arch_isa_get_irn_handler(env->arch_env->isa)) @@ -270,7 +270,7 @@ static void be_main_loop(FILE *file_handle) arch_isa_t *isa; be_main_env_t env; - be_init_env(&env); + be_init_env(&env, file_handle); isa = arch_env_get_isa(env.arch_env); @@ -293,7 +293,7 @@ static void be_main_loop(FILE *file_handle) cg_if = isa->impl->get_code_generator_if(isa); /* get a code generator for this graph. */ - birg.cg = cg_if->init(file_handle, &birg); + birg.cg = cg_if->init(&birg); /* create the code generator and generate code. */ prepare_graph(&birg);