+/**
+ * Return the effective use block of a node and it's predecessor on
+ * position pos.
+ *
+ * @param node the node
+ * @param pos the position of the used input
+ *
+ * This handles correctly Phi nodes.
+ */
+static ir_node *get_effective_use_block(ir_node *node, int pos)
+{
+ /* the effective use of a Phi is in its predecessor block */
+ if (is_Phi(node))
+ return get_nodes_block(get_irn_n(node, pos));
+ else
+ return get_nodes_block(node);
+}
+