Commit 031bf436 authored by Matthias Braun's avatar Matthias Braun
Browse files

kill deprecated firm_parameter_t interface

parent 9f8409cf
...@@ -30,72 +30,9 @@ ...@@ -30,72 +30,9 @@
#include "begin.h" #include "begin.h"
/** /**
* libFirm initialization parameters.
* @deprecated
*/
struct firm_parameter_t {
/**
* The size of this structure. init_firm() will only initialize
* this amount of data. This allows to add more fields to this structure
* without breaking compatibility to older source.
*/
unsigned int size;
/**
* Statistic options. If statistic function where enabled, these
* flags configure it, see enum firmstat_options_t.
* @deprecated call firm_init_stat(options) instead
*/
unsigned enable_statistics;
/**
* This function is called, whenever a local variable is
* used before definition. The function should insert a default value,
* and/or raise a compiler error/warning. Note that returning
* an Unknown is allowed here.
* @deprecated call ir_set_uninitialized_local_variable_func() instead
*/
uninitialized_local_variable_func_t *initialize_local_func;
/**
* The interface functions for the type identification module.
* If not set, the default implementation with compare_strict() and
* firm_hash_name() will be used.
*/
type_identify_if_t *ti_if;
/**
* dummy parameter
* (this used to hold an identifier module structure)
*/
void *id_if;
/**
* dummy parameter
* (this used to hold a default calling convention, but this concept is no
* more. You should always set the calling convention manually after
* creating the method entity if you need something else)
*/
unsigned cc_mask;
/**
* dummy (here was dbg_info *builtin_dbg before)
*/
void *dummy;
};
typedef struct firm_parameter_t firm_parameter_t;
/**
* Initialize the firm library.
*
* Initializes the firm library. Allocates default data structures. * Initializes the firm library. Allocates default data structures.
* Initializes configurable behavior of the library.
*
* @param params should be NULL (you can pass a structure containing
* initial parameters but this is deprecated)
*/ */
FIRM_API void ir_init(const firm_parameter_t *params); FIRM_API void ir_init(void);
/** /**
* Frees all memory occupied by the firm library. * Frees all memory occupied by the firm library.
...@@ -111,8 +48,6 @@ FIRM_API const char *ir_get_version_revision(void); ...@@ -111,8 +48,6 @@ FIRM_API const char *ir_get_version_revision(void);
/** returns string describing libFirm build */ /** returns string describing libFirm build */
FIRM_API const char *ir_get_version_build(void); FIRM_API const char *ir_get_version_build(void);
/** /**
* a list of firm kinds * a list of firm kinds
* Most important datastructures in firm contain a firm_kind field at the * Most important datastructures in firm contain a firm_kind field at the
......
...@@ -53,7 +53,6 @@ typedef struct ir_exec_freq ir_exec_freq, *ir_exec_freq_ptr; ...@@ -53,7 +53,6 @@ typedef struct ir_exec_freq ir_exec_freq, *ir_exec_freq_ptr;
typedef struct ir_cdep ir_cdep, *ir_cdep_ptr; typedef struct ir_cdep ir_cdep, *ir_cdep_ptr;
typedef struct sn_entry *seqno_t; typedef struct sn_entry *seqno_t;
typedef struct arch_irn_ops_t arch_irn_ops_t; typedef struct arch_irn_ops_t arch_irn_ops_t;
typedef struct type_identify_if_t type_identify_if_t;
typedef struct ir_graph_pass_t ir_graph_pass_t; typedef struct ir_graph_pass_t ir_graph_pass_t;
typedef struct ir_prog_pass_t ir_prog_pass_t; typedef struct ir_prog_pass_t ir_prog_pass_t;
......
...@@ -65,34 +65,15 @@ lc_opt_entry_t *firm_opt_get_root(void) ...@@ -65,34 +65,15 @@ lc_opt_entry_t *firm_opt_get_root(void)
return grp; return grp;
} }
void ir_init(const firm_parameter_t *param) void ir_init(void)
{ {
firm_parameter_t def_params;
unsigned int size;
/* for historical reasons be_init must be run first */ /* for historical reasons be_init must be run first */
firm_be_init(); firm_be_init();
memset(&def_params, 0, sizeof(def_params));
if (param) {
/* check for reasonable size */
assert(param->size <= sizeof(def_params) && (param->size & 3) == 0 &&
"parameter struct not initialized ???");
size = sizeof(def_params);
if (param->size < size)
size = param->size;
memcpy(&def_params, param, size);
}
/* initialize firm flags */ /* initialize firm flags */
firm_init_flags(); firm_init_flags();
/* initialize all ident stuff */ /* initialize all ident stuff */
init_ident(); init_ident();
/* enhanced statistics, need idents and hooks */
if (def_params.enable_statistics != 0)
firm_init_stat(def_params.enable_statistics);
/* Edges need hooks. */ /* Edges need hooks. */
init_edges(); init_edges();
/* create the type kinds. */ /* create the type kinds. */
...@@ -111,10 +92,6 @@ void ir_init(const firm_parameter_t *param) ...@@ -111,10 +92,6 @@ void ir_init(const firm_parameter_t *param)
firm_init_mangle(); firm_init_mangle();
/* initialize all op codes an irnode can consist of */ /* initialize all op codes an irnode can consist of */
init_op(); init_op();
/* called once for each run of this library */
if (def_params.initialize_local_func != NULL)
ir_set_uninitialized_local_variable_func(
def_params.initialize_local_func);
/* initialize reassociation */ /* initialize reassociation */
firm_init_reassociation(); firm_init_reassociation();
/* initialize function call optimization */ /* initialize function call optimization */
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment