- * must be called from peephole optimisations after a node is exchanged,
- * so bepeephole can update it's internal state.
+ * Tries to optimize a beIncSp node with its previous IncSP node.
+ * Must be run from a be_peephole_opt() context.
+ *
+ * @param node a be_IncSP node
+ *
+ * @return the new IncSP node or node itself
+ */
+ir_node *be_peephole_IncSP_IncSP(ir_node *node);
+
+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.