+bool be_has_only_one_user(ir_node *node);
+
+/**
+ * In a scheduled program with registers assigned,
+ * checks wether @p node can be moved before @p before without changing program
+ * semantics.
+ *
+ * Note: It is allowed to use this function without being in a peephole
+ * optimization phase.
+ */
+bool be_can_move_before(ir_heights_t *heights, const ir_node *node,
+ const ir_node *before);
+