int be_parse_arg(const char *arg);
/**
- * Initialize the Firm backend. Must be run BEFORE init_firm()!
+ * Return the backend configuration parameter.
*
* @return libFirm configuration parameters for the selected
* backend
*/
-const backend_params *be_init(void);
+const backend_params *be_get_backend_param(void);
/**
* Main interface to the frontend.
};
/**
-* Put the registers to be ignored in this IRG into a bitset.
-* @param birg The backend IRG data structure.
-* @param cls The register class.
-* @param bs The bitset (may be NULL).
-* @return The number of registers to be ignored.
-*/
+ * Put the registers to be ignored in this IRG into a bitset.
+ * @param birg The backend IRG data structure.
+ * @param cls The register class.
+ * @param bs The bitset (may be NULL).
+ * @return The number of registers to be ignored.
+ */
unsigned be_put_ignore_regs(const be_irg_t *birg,
const arch_register_class_t *cls, bitset_t *bs);
+
+/**
+ * Initialize the backend. Must be run first in init_firm();
+ */
+void firm_be_init(void);
+
extern int be_timing;
#define BE_TIMER_PUSH(timer) \
#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) {