return !problem_found;
}
-void be_liveness_transfer(const arch_env_t *arch_env,
- const arch_register_class_t *cls,
+void be_liveness_transfer(const arch_register_class_t *cls,
ir_node *node, ir_nodeset_t *nodeset)
{
int i, arity;
- (void)arch_env; // TODO remove parameter
/* You should better break out of your loop when hitting the first phi
* function. */
if(irn == pos)
return;
- be_liveness_transfer(arch_env, cls, irn, live);
+ be_liveness_transfer(cls, irn, live);
}
}
assert(lv->nodes && "live sets must be computed");
be_liveness_end_of_block(lv, arch_env, cls, bl, live);
sched_foreach_reverse(bl, irn) {
- be_liveness_transfer(arch_env, cls, irn, live);
+ be_liveness_transfer(cls, irn, live);
if(irn == pos)
return;
}
* The liveness transfer function.
* Updates a live set over a single step from a given node to its predecessor.
* Everything defined at the node is removed from the set, the uses of the node get inserted.
- * @param arch_env The architecture environment.
* @param cls The register class to consider.
* @param irn The node at which liveness should be computed.
* @param live The set of nodes live before @p irn. This set gets modified by updating it to
* the nodes live after irn.
* @return live.
*/
-void be_liveness_transfer(const arch_env_t *arch_env,
- const arch_register_class_t *cls, ir_node *node,
+void be_liveness_transfer(const arch_register_class_t *cls, ir_node *node,
ir_nodeset_t *nodeset);
/**
if (is_Phi(irn))
break;
- be_liveness_transfer(aenv, cls, irn, &live_nodes);
+ be_liveness_transfer(cls, irn, &live_nodes);
cnt = ir_nodeset_size(&live_nodes);
max_live = MAX(cnt, max_live);
}
if(is_Phi(irn))
break;
- be_liveness_transfer(aenv, cls, irn, &live_nodes);
+ be_liveness_transfer(cls, irn, &live_nodes);
cnt = ir_nodeset_size(&live_nodes);
max_live = cnt < max_live ? max_live : cnt;
env->regpressure += cnt;
break;
// print_living_values(stderr, &live_nodes);
- be_liveness_transfer(env->arch_env, env->cls, irn, &live_nodes);
+ be_liveness_transfer(env->cls, irn, &live_nodes);
pressure = ir_nodeset_size(&live_nodes);