X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fbe%2Fmips%2Fmips_nodes_attr.h;h=e9df30ce12bd8ddef4b0cf084c7fabf76cd65c8c;hb=48f0393daa5d5a14ed7e3e32ee2b090759c9371e;hp=fc44e3da36b5593a20d15b0f47a1b80941486860;hpb=18dfdacb6faf2f93d4f6f9a6362584f8c7eb30a1;p=libfirm diff --git a/ir/be/mips/mips_nodes_attr.h b/ir/be/mips/mips_nodes_attr.h index fc44e3da3..e9df30ce1 100644 --- a/ir/be/mips/mips_nodes_attr.h +++ b/ir/be/mips/mips_nodes_attr.h @@ -12,24 +12,25 @@ typedef struct _mips_register_req_t { typedef struct _mips_attr_t { - arch_irn_flags_t flags; /**<< indicating if spillable, rematerializeable ... etc. */ - int n_res; /**<< number of results for this node */ + arch_irn_flags_t flags; /**< indicating if spillable, rematerializeable ... etc. */ + int n_res; /**< number of results for this node */ - tarval *tv; /**<< contains the immediate value (if the node has any) */ - ident *symconst_id; /**<< contains the ident (for la operations) */ + tarval *tv; /**< contains the immediate value (if the node has any) */ + ident *symconst_id; /**< contains the ident (for la operations) */ union { - ir_mode *load_store_mode; /**<< contains the mode of a load/store */ - ir_mode *original_mode; /**<< contains the original mode of the node */ + ir_mode *load_store_mode; /**< contains the mode of a load/store */ + ir_mode *original_mode; /**< contains the original mode of the node */ } modes; - entity *stack_entity; /**<< contains the entity on the stack for a load/store mode */ - int stack_entity_offset; /**<< contains the real stack offset for the entity */ + entity *stack_entity; /**< contains the entity on the stack for a load/store mode */ + int stack_entity_offset; /**< contains the real stack offset for the entity */ int switch_default_pn; /**< proj number of default case in switch */ - const mips_register_req_t **in_req; /**<< register requirements for arguments */ - const mips_register_req_t **out_req; /**<< register requirements for results */ + const mips_register_req_t **in_req; /**< register requirements for arguments */ + const mips_register_req_t **out_req; /**< register requirements for results */ - const arch_register_t **slots; /**<< register slots for assigned registers */ + /* must be last, dynamically allocated */ + const arch_register_t *slots[1]; /**< register slots for assigned registers */ } mips_attr_t; #endif /* _mips_NODES_ATTR_H_ */