}
}
-static reg_out_info_t *get_out_info(const ir_node *node)
-{
- size_t pos = 0;
- const backend_info_t *info;
- assert(get_irn_mode(node) != mode_T);
- if (is_Proj(node)) {
- pos = get_Proj_proj(node);
- node = get_Proj_pred(node);
- }
-
- info = be_get_info(node);
- assert(pos < ARR_LEN(info->out_infos));
- return &info->out_infos[pos];
-}
-
static reg_out_info_t *get_out_info_n(const ir_node *node, unsigned pos)
{
const backend_info_t *info = be_get_info(node);
out->reg = reg;
}
-const arch_register_req_t *arch_get_irn_register_req(const ir_node *node)
-{
- reg_out_info_t *out = get_out_info(node);
- return out->req;
-}
-
-arch_irn_flags_t arch_get_irn_flags(const ir_node *node)
-{
- backend_info_t *info;
- if (is_Proj(node))
- return arch_irn_flags_not_scheduled;
-
- info = be_get_info(node);
- return info->flags;
-}
-
void arch_set_irn_flags(ir_node *node, arch_irn_flags_t flags)
{
backend_info_t *info;
assert(req->type != arch_register_req_type_none);
if (req->cls != reg->reg_class)
return false;
- if (reg->type & arch_register_type_joker)
+ if (reg->type & arch_register_type_virtual)
return true;
if (req->type & arch_register_req_type_limited)
return rbitset_is_set(req->limited, reg->index);