-int arch_is_possible_memory_operand(const arch_env_t *env, const ir_node *irn, int i)
-{
- const arch_irn_ops_t *ops = get_irn_ops(env, irn);
- if(ops->impl->possible_memory_operand) {
- return ops->impl->possible_memory_operand(ops, irn, i);
- } else {
- return 0;
- }
-}
-
-int arch_get_allocatable_regs(const arch_env_t *env, const ir_node *irn, int pos, bitset_t *bs)
-{
- arch_register_req_t local_req;
- const arch_irn_ops_t *ops = get_irn_ops(env, irn);
- const arch_register_req_t *req = ops->impl->get_irn_reg_req(ops, &local_req, irn, pos);
-
- if(req->type == arch_register_req_type_none) {
- bitset_clear_all(bs);
- return 0;
- }
-
- if(arch_register_req_is(req, limited)) {
- req->limited(req->limited_env, bs);
- return bitset_popcnt(bs);
- }
-
- arch_register_class_put(req->cls, bs);
- return req->cls->n_regs;
+ if(ops->perform_memory_operand) {
+ ops->perform_memory_operand(irn, spill, i);
+ } else {
+ return;
+ }