#endif
}
+static arch_register_req_t const *ia32_make_register_req(constraint_t const *constraint, int n_outs, arch_register_req_t const **out_reqs, int pos);
+
ir_node *ia32_gen_ASM(ir_node *node)
{
ir_node *block = get_nodes_block(node);
return res;
}
-const arch_register_req_t *ia32_make_register_req(
- const constraint_t *constraint, int n_outs,
- const arch_register_req_t **out_reqs, int pos)
+static arch_register_req_t const *ia32_make_register_req(constraint_t const *const constraint, int const n_outs, arch_register_req_t const **const out_reqs, int const pos)
{
struct obstack *obst = get_irg_obstack(current_ir_graph);
int same_as = constraint->same_as;
req->type = arch_register_req_type_limited;
*limited_ptr = constraint->allowed_registers;
req->limited = limited_ptr;
+ req->cls = constraint->cls;
+ req->width = 1;
+ return req;
} else {
- req = OALLOCZ(obst, arch_register_req_t);
- req->type = arch_register_req_type_normal;
+ return constraint->cls->class_req;
}
- req->cls = constraint->cls;
- req->width = 1;
-
- return req;
}
const arch_register_req_t *ia32_parse_clobber(const char *clobber)