ARR_APP1(entity_t*, inner_functions, entity);
}
-ir_node *uninitialized_local_var(ir_graph *irg, ir_mode *mode, int pos)
+static ir_node *uninitialized_local_var(ir_graph *irg, ir_mode *mode, int pos)
{
const entity_t *entity = get_irg_loc_description(irg, pos);
{
/* initialize firm arithmetic */
tarval_set_integer_overflow_mode(TV_OVERFLOW_WRAP);
+ ir_set_uninitialized_local_variable_func(uninitialized_local_var);
/* just to be sure */
continue_label = NULL;
*/
void gen_firm_init(void)
{
- firm_parameter_t params;
- unsigned pattern = 0;
- int i;
+ unsigned pattern = 0;
+ int i;
for (i = 0; i < n_opts; ++i) {
timers[i] = ir_timer_new();
if (firm_dump.stat_dag)
pattern |= FIRMSTAT_COUNT_DAG;
- memset(¶ms, 0, sizeof(params));
- params.size = sizeof(params);
- params.enable_statistics = firm_dump.statistic == STAT_NONE ? 0 :
- FIRMSTAT_ENABLED | FIRMSTAT_COUNT_STRONG_OP | FIRMSTAT_COUNT_CONSTS
- | pattern;
- params.initialize_local_func = uninitialized_local_var;
- params.cc_mask = 0; /* no regparam, cdecl */
-
- ir_init(¶ms);
+ ir_init(NULL);
+ firm_init_stat(firm_dump.statistic == STAT_NONE ?
+ 0 : FIRMSTAT_ENABLED | FIRMSTAT_COUNT_STRONG_OP
+ | FIRMSTAT_COUNT_CONSTS | pattern);
if (firm_be_opt.selection == BE_FIRM_BE) {
const backend_params *be_params = be_get_backend_param();
extern ir_entity_ptr rts_entities[rts_max];
-/**
- * This function is called, whenever a local variable is used before
- * definition.
- */
-extern ir_node *uninitialized_local_var(ir_graph *irg, ir_mode *mode, int pos);
-
/** Debug printf implementation. */
extern void dbg_printf(const char *fmt, ...);