X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fbe%2FTEMPLATE%2FTEMPLATE_nodes_attr.h;h=9421e34911a69b7af45967943d7df409e8704550;hb=93da909d12b7bec51aa36ee5f05966c331f90fb9;hp=193aeeae0b5bfed3d4dbacafebe93472ec0d7313;hpb=1161999117f5c0f56b3af2dc9bb7150e03761905;p=libfirm diff --git a/ir/be/TEMPLATE/TEMPLATE_nodes_attr.h b/ir/be/TEMPLATE/TEMPLATE_nodes_attr.h index 193aeeae0..9421e3491 100644 --- a/ir/be/TEMPLATE/TEMPLATE_nodes_attr.h +++ b/ir/be/TEMPLATE/TEMPLATE_nodes_attr.h @@ -1,24 +1,42 @@ -#ifndef _TEMPLATE_NODES_ATTR_H_ -#define _TEMPLATE_NODES_ATTR_H_ +/* + * Copyright (C) 1995-2008 University of Karlsruhe. All right reserved. + * + * This file is part of libFirm. + * + * This file may be distributed and/or modified under the terms of the + * GNU General Public License version 2 as published by the Free Software + * Foundation and appearing in the file LICENSE.GPL included in the + * packaging of this file. + * + * Licensees holding valid libFirm Professional Edition licenses may use + * this file in accordance with the libFirm Commercial License. + * Agreement provided with the Software. + * + * This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE + * WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE. + */ -#include "../bearch.h" +/** + * @file + * @brief attributes attached to all TEMPLATE nodes + * @version $Id$ + */ +#ifndef FIRM_BE_TEMPLATE_TEMPLATE_NODES_ATTR_H +#define FIRM_BE_TEMPLATE_TEMPLATE_NODES_ATTR_H -typedef struct _TEMPLATE_register_req_t { - const arch_register_req_t req; - int same_pos; /**< in case of "should be same" we need to remember the pos to get the irn */ - int different_pos; /**< in case of "should be different" we need to remember the pos to get the irn */ -} TEMPLATE_register_req_t; +#include "../bearch_t.h" +typedef struct TEMPLATE_attr_t TEMPLATE_attr_t; -typedef struct _TEMPLATE_attr_t { +struct TEMPLATE_attr_t +{ arch_irn_flags_t flags; /**< indicating if spillable, rematerializeable ... etc. */ - int n_res; /**< number of results for this node */ - const TEMPLATE_register_req_t **in_req; /**< register requirements for arguments */ - const TEMPLATE_register_req_t **out_req; /**< register requirements for results */ + const arch_register_req_t **in_req; /**< register requirements for arguments */ + const arch_register_req_t **out_req; /**< register requirements for results */ - /* must be last, dynamically allocated */ - const arch_register_t *slots[1]; /**< register slots for assigned registers */ -} TEMPLATE_attr_t; + const arch_register_t **slots; /**< register slots for assigned registers */ +}; -#endif /* _TEMPLATE_NODES_ATTR_H_ */ +#endif