#include "irgraph_t.h"
#include "type_t.h"
#include "entity_t.h"
+#include "opt_inline_t.h"
+#include "scalar_replace.h"
#include "firmstat.h"
#include "irarch.h"
#include "reassoc_t.h"
#include "funccall_t.h"
#include "irhooks.h"
#include "iredges_t.h"
+#include "tropt.h"
#include "debugger.h"
+#include "be_t.h"
/* returns the firm root */
lc_opt_entry_t *firm_opt_get_root(void) {
static lc_opt_entry_t *grp = NULL;
- if(!grp)
+ if (!grp)
grp = lc_opt_get_grp(lc_opt_root_grp(), "firm");
return grp;
}
firm_parameter_t def_params;
unsigned int size;
+ /* for historical reasons be_init must be run first */
+ firm_be_init();
+
memset(&def_params, 0, sizeof(def_params));
if (param) {
firm_init_reassociation();
/* initialize function call optimization */
firm_init_funccalls();
+ /* initialize function inlining */
+ firm_init_inline();
+ /* initialize scalar replacement */
+ firm_init_scalar_replace();
/* Builds a construct allowing to access all information to be constructed
later. */
init_irprog_2();
firm_init_entity();
/* allocate a hash table. */
init_type_identify(def_params.ti_if);
+ /* class cast optimization */
+ firm_init_class_casts_opt();
/* Init architecture dependent optimizations. */
arch_dep_init(arch_dep_default_factory);