return res;
}
+ir_node *be_get_Copy_op(const ir_node *cpy) {
+ return get_irn_n(cpy, be_pos_Copy_op);
+}
+
ir_node *be_new_Keep(const arch_register_class_t *cls, ir_graph *irg, ir_node *bl, int n, ir_node *in[])
{
int i;
r->req.type = type;
}
+ir_node *be_get_IncSP_pred(ir_node *irn) {
+ assert(be_is_IncSP(irn));
+ return get_irn_n(irn, 0);
+}
+
void be_set_IncSP_offset(ir_node *irn, unsigned offset)
{
be_stack_attr_t *a = get_irn_attr(irn);
if(be_is_Copy(irn)) {
req->type |= arch_register_req_type_should_be_same;
- req->other_same = get_irn_n(irn, be_pos_Copy_orig);
+ req->other_same = be_get_Copy_op(irn);
}
}
else {
redir_proj((const ir_node **) &irn, -1);
switch(be_get_irn_opcode(irn)) {
-#define XXX(a,b) case beo_ ## a: return arch_irn_class_ ## b;
- XXX(Spill, spill)
- XXX(Reload, reload)
- XXX(Perm, perm)
- XXX(Copy, copy)
+#define XXX(a,b) case beo_ ## a: return arch_irn_class_ ## b
+ XXX(Spill, spill);
+ XXX(Reload, reload);
+ XXX(Perm, perm);
+ XXX(Copy, copy);
+ XXX(Return, branch);
#undef XXX
default:
return 0;