From: Christoph Mallon Date: Mon, 19 Nov 2007 19:44:52 +0000 (+0000) Subject: Initialise the backend only once. X-Git-Url: http://nsz.repo.hu/git/?a=commitdiff_plain;h=0245a0f0668f032767d5bf1749327c875f12ba67;p=cparser Initialise the backend only once. [r18488] --- diff --git a/main.c b/main.c index 468d2d3..ad0737e 100644 --- a/main.c +++ b/main.c @@ -39,13 +39,13 @@ static int verbose; static const ir_settings_if_conv_t *if_conv_info = NULL; +static const backend_params *be_params = NULL; static void initialize_firm(void) { be_opt_register(); firm_init_options(NULL, 0, NULL); - const backend_params *be_params; firm_parameter_t params; memset(¶ms, 0, sizeof(params)); @@ -244,9 +244,6 @@ static void optimize(void) optimize_funccalls(0); - const backend_params *const be_params = be_init(); - create_intrinsic_fkt *const arch_create_intrinsic = be_params->arch_create_intrinsic_fkt; - void *const create_intrinsic_ctx = be_params->create_intrinsic_ctx; lwrdw_param_t lwrdw_param = { 1, 1, @@ -255,9 +252,9 @@ static void optimize(void) def_create_intrinsic_fkt, NULL }; - if (arch_create_intrinsic) { - lwrdw_param.create_intrinsic = arch_create_intrinsic; - lwrdw_param.ctx = create_intrinsic_ctx; + if (be_params->arch_create_intrinsic_fkt) { + lwrdw_param.create_intrinsic = be_params->arch_create_intrinsic_fkt; + lwrdw_param.ctx = be_params->create_intrinsic_ctx; } for(int i = 0; i < get_irp_n_irgs(); ++i) {