-typedef struct _belady_env_t {
- struct obstack ob;
- const arch_env_t *arch;
- const arch_register_class_t *cls;
- be_lv_t *lv;
- be_loopana_t *loop_ana;
- int n_regs; /** number of regs in this reg-class */
-
- workset_t *ws; /**< the main workset used while processing a block. ob-allocated */
- be_uses_t *uses; /**< env for the next-use magic */
- ir_node *instr; /**< current instruction */
- unsigned instr_nr; /**< current instruction number (relative to block start) */
- pset *used;
-
- spill_env_t *senv; /**< see bespill.h */
-} belady_env_t;
+static struct obstack obst;
+static const arch_register_class_t *cls;
+static const be_lv_t *lv;
+static be_loopana_t *loop_ana;
+static int n_regs;
+static workset_t *ws; /**< the main workset used while
+ processing a block. */
+static be_uses_t *uses; /**< env for the next-use magic */
+static ir_node *instr; /**< current instruction */
+static unsigned instr_nr; /**< current instruction number
+ (relative to block start) */
+static spill_env_t *senv; /**< see bespill.h */
+static ir_node **blocklist;
+
+static bool move_spills = true;
+static bool respectloopdepth = true;
+static bool improve_known_preds = true;
+/* factor to weight the different costs of reloading/rematerializing a node
+ (see bespill.h be_get_reload_costs_no_weight) */
+static int remat_bonus = 10;
+
+static const lc_opt_table_entry_t options[] = {
+ LC_OPT_ENT_BOOL ("movespills", "try to move spills out of loops", &move_spills),
+ LC_OPT_ENT_BOOL ("respectloopdepth", "exprimental (outermost loop cutting)", &respectloopdepth),
+ LC_OPT_ENT_BOOL ("improveknownpreds", "experimental (known preds cutting)", &improve_known_preds),
+ LC_OPT_ENT_INT ("rematbonus", "give bonus to rematerialisable nodes", &remat_bonus),
+ LC_OPT_LAST
+};