int timing; /**< time the backend phases */
int opt_profile; /**< instrument code for profiling */
int omit_fp; /**< try to omit the frame pointer */
+ int omit_leaf_fp; /**< try to omit the frame pointer in leaf routines */
int pic; /**< create position independent code */
int gprof; /**< create gprof compatible profiling code */
int vrfy_option; /**< backend verify option */
};
/**
-* 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) \