}
/* entities of runtime functions */
-ir_entity_ptr rts_entities[rts_max];
+ir_entity *rts_entities[rts_max];
/**
* Map runtime functions.
static void rts_map(void)
{
static const struct {
- ir_entity_ptr *ent; /**< address of the rts entity */
+ ir_entity **ent; /**< address of the rts entity */
i_mapper_func func; /**< mapper function. */
} mapper[] = {
/* integer */
{
int i;
- set_optimize(1);
- set_opt_constant_folding(firm_opt.const_folding);
- set_opt_algebraic_simplification(firm_opt.const_folding);
- set_opt_cse(firm_opt.cse);
- set_opt_global_cse(0);
-
+ /* initialize implicit opts, just to be sure because really the frontend
+ * should have called it already before starting graph construction */
+ init_implicit_optimizations();
init_statistics();
do_node_verification((firm_verification_t) firm_opt.verify);
firm_opt.alias_analysis = false;
firm_opt.strict_alias = false;
firm_opt.no_alias = false;
+ firm_opt.const_folding = false;
FOR_EACH_OPT(config) {
if (config->flags & OPT_FLAG_ESSENTIAL) {
void firm_option_help(print_option_help_func print_option_help)
{
- print_option_help(firm_options[0].option, firm_options[0].description);
-
FOR_EACH_OPT(config) {
char buf[1024];
char buf2[1024];
break;
}
}
+
+void init_implicit_optimizations(void)
+{
+ set_optimize(1);
+ set_opt_constant_folding(firm_opt.const_folding);
+ set_opt_algebraic_simplification(firm_opt.const_folding);
+ set_opt_cse(firm_opt.cse);
+ set_opt_global_cse(0);
+}