if (is_Reg_Phi(irn) || is_Perm_Proj(irn))
return 1;
- req = arch_get_register_req(irn, -1);
+ req = arch_get_register_req_out(irn);
if (is_2addr_code(req))
return 1;
static void co_collect_units(ir_node *irn, void *env)
{
- const arch_register_req_t *req = arch_get_register_req(irn, -1);
+ const arch_register_req_t *req = arch_get_register_req_out(irn);
copy_opt_t *co = env;
unit_t *unit;
/* Units with constraints come first */
u1_has_constr = 0;
for (i=0; i<u1->node_count; ++i) {
- arch_get_register_req(&req, u1->nodes[i], -1);
+ arch_get_register_req_out(&req, u1->nodes[i]);
if (arch_register_req_is(&req, limited)) {
u1_has_constr = 1;
break;
u2_has_constr = 0;
for (i=0; i<u2->node_count; ++i) {
- arch_get_register_req(&req, u2->nodes[i], -1);
+ arch_get_register_req_out(&req, u2->nodes[i]);
if (arch_register_req_is(&req, limited)) {
u2_has_constr = 1;
break;
}
static void build_graph_walker(ir_node *irn, void *env) {
- const arch_register_req_t *req = arch_get_register_req(irn, -1);
+ const arch_register_req_t *req = arch_get_register_req_out(irn);
copy_opt_t *co = env;
int pos, max;
const arch_register_t *reg;
{
ir_node *nodes[] = { a, b };
bitset_t *constr[] = { NULL, NULL };
- const arch_register_req_t *req;
int j;
constr[0] = bitset_alloca(co->cls->n_regs);
constr[1] = bitset_alloca(co->cls->n_regs);
for (j = 0; j < 2; ++j) {
- req = arch_get_register_req(nodes[j], BE_OUT_POS(0));
+ const arch_register_req_t *req = arch_get_register_req_out(nodes[j]);
if(arch_register_req_is(req, limited))
rbitset_copy_to_bitset(req->limited, constr[j]);
else
be_ifg_foreach_node(ifg, it, irn) {
if (!arch_irn_is(irn, ignore)) {
- int idx = node_map[get_irn_idx(irn)];
- affinity_node_t *a = get_affinity_info(co, irn);
-
- const arch_register_req_t *req;
- ir_node *adj;
+ int idx = node_map[get_irn_idx(irn)];
+ affinity_node_t *a = get_affinity_info(co, irn);
+ const arch_register_req_t *req = arch_get_register_req_out(irn);
+ ir_node *adj;
- req = arch_get_register_req(irn, BE_OUT_POS(0));
if(arch_register_req_is(req, limited)) {
for(i = 0; i < co->cls->n_regs; ++i) {
if(!rbitset_is_set(req->limited, i) && color_map[i] >= 0)
static void ifg_dump_node_attr(FILE *f, void *self, ir_node *irn)
{
- co_ifg_dump_t *env = self;
- const arch_register_t *reg = arch_get_irn_register(irn);
- const arch_register_req_t *req;
- int limited;
-
- req = arch_get_register_req(irn, BE_OUT_POS(0));
- limited = arch_register_req_is(req, limited);
+ co_ifg_dump_t *env = self;
+ const arch_register_t *reg = arch_get_irn_register(irn);
+ const arch_register_req_t *req = arch_get_register_req_out(irn);
+ int limited = arch_register_req_is(req, limited);
if(env->flags & CO_IFG_DUMP_LABELS) {
ir_fprintf(f, "label=\"%+F", irn);