case beo_FrameLoad:
case beo_FrameAddr:
return 1;
+ default:
+ return 0;
}
-
- return 0;
}
entity *be_get_frame_entity(const ir_node *irn)
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);
entity *be_get_spill_entity(const ir_node *irn)
{
- int opc = get_irn_opcode(irn);
-
switch(be_get_irn_opcode(irn)) {
case beo_Reload:
{
*/
insert = sched_next(irn);
- if(bl == get_irg_start_block(irg) && insert != bl && sched_get_time_step(frame) >= sched_get_time_step(insert))
+ if(insert != bl && bl == get_irg_start_block(irg) && sched_get_time_step(frame) >= sched_get_time_step(insert))
insert = sched_next(frame);
while((is_Phi(insert) || is_Proj(insert)) && !sched_is_end(insert))
static void *put_in_reg_req(arch_register_req_t *req, const ir_node *irn, int pos)
{
const be_node_attr_t *a = get_irn_attr(irn);
- int n = get_irn_arity(irn);
if(pos < get_irn_arity(irn) && pos < a->max_reg_data)
memcpy(req, &a->reg_data[pos].in_req, sizeof(req[0]));
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;
{
int n = get_irn_arity(phi);
ir_node *op;
- int done = 0;
int i;
if(*visited && pset_find_ptr(*visited, phi))
if(be_has_frame_entity(irn)) {
be_frame_attr_t *a = (be_frame_attr_t *) at;
- if (a->ent)
- ir_fprintf(f, "frame entity: %+F offset %x (%d)\n", a->ent, a->offset, a->offset);
+ if (a->ent) {
+ int bits = get_type_size_bits(get_entity_type(a->ent));
+ ir_fprintf(f, "frame entity: %+F offset 0x%x (%d) size 0x%x %d\n",
+ a->ent, a->offset, a->offset, bits, bits);
+ }
}
fprintf(f, "direction: %s\n", a->dir == be_stack_dir_expand ? "expand" : "shrink");
}
break;
+ default:
+ break;
}
}