- arity = get_irn_arity(node);
- for (i = 0; i < arity; ++i) {
- const ir_node *operand = get_irn_n(node, i);
-
- if (operand == def) {
- DBG((env->dbg, LEVEL_3, "found use of %+F at %+F\n", operand, node));
-
- /**
- * Spills/Reloads are a special case, they're not really a
- * usage of a value, continue searching
- */
- if(be_is_Spill(node) || be_is_Reload(node)) {
- return be_get_next_use(env, node, step, node, 1);
- }
-
- be_next_use_t result;
- result.time = step;
- result.outermost_loop = get_loop_depth(get_irn_loop(block));
- return result;
- }
+ node_step = get_step(node);
+ if (node_step < timestep)
+ continue;
+ if (node_step < next_use_step) {
+ next_use = node;
+ next_use_step = node_step;