X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fbe%2Fppc32%2Fppc32_nodes_attr.h;h=e9770c1370a83f30e645f0f3a2418badc536d55b;hb=913e5a9933cacb92d178703366a5070aa6b5a7bd;hp=13bcea6bd614418d35deab6f1c6dc9048fae6bee;hpb=3fbdb6259cfddf9af895da3207d92571bb92b705;p=libfirm diff --git a/ir/be/ppc32/ppc32_nodes_attr.h b/ir/be/ppc32/ppc32_nodes_attr.h index 13bcea6bd..e9770c137 100644 --- a/ir/be/ppc32/ppc32_nodes_attr.h +++ b/ir/be/ppc32/ppc32_nodes_attr.h @@ -1,13 +1,32 @@ -#ifndef _PPC32_NODES_ATTR_H_ -#define _PPC32_NODES_ATTR_H_ +/* + * Copyright (C) 1995-2007 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 declarations for ppc32 node attributes + * @author Moritz Kroll, Jens Mueller + * @version $Id$ + */ +#ifndef FIRM_BE_PPC32_PPC32_NODES_ATTR_H +#define FIRM_BE_PPC32_PPC32_NODES_ATTR_H -typedef struct _ppc32_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 */ -} ppc32_register_req_t; +#include "../bearch_t.h" typedef struct { @@ -33,10 +52,9 @@ typedef enum { typedef struct _ppc32_attr_t { arch_irn_flags_t flags; /**< indicating if spillable, rematerializeable ... etc. */ - int n_res; /**< number of results for this node */ - const ppc32_register_req_t **in_req; /**< register requirements for arguments */ - const ppc32_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 */ ppc32_attr_content_type content_type; ppc32_attr_offset_mode offset_mode; @@ -50,8 +68,7 @@ typedef struct _ppc32_attr_t { void* empty; } data; - /* must be last, dynamically allocated */ - const arch_register_t *slots[1]; /**< register slots for assigned registers */ + const arch_register_t **slots; /**< register slots for assigned registers */ } ppc32_attr_t; -#endif /* _PPC32_NODES_ATTR_H_ */ +#endif