+unsigned heights_recompute_block(heights_t *h, ir_node *block)
+{
+ const ir_edge_t *edge;
+
+ edges_assure(phase_get_irg(&h->ph));
+
+ /* reset phase data for all nodes in the block */
+ foreach_out_edge(block, edge) {
+ ir_node *irn = get_edge_src_irn(edge);
+ irn_height_t *ih = phase_get_irn_data(&h->ph, irn);
+
+ irn_height_init(&h->ph, irn, ih);
+ }
+
+ h->visited = 0;
+ return compute_heights_in_block(block, h);
+}
+