X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fbe%2Fppc32%2Fppc32_nodes_attr.h;h=30b1aa6c8b55424c2d18d66b3a836259021c4560;hb=eb25a03cbe3c75c258daebaf50b37dece3ba1455;hp=51cc8c8c05b88582b1eefd71bce924b00a1b86ff;hpb=0493af5aa3bca8dfb09e1a49135b5ad1e9e97020;p=libfirm diff --git a/ir/be/ppc32/ppc32_nodes_attr.h b/ir/be/ppc32/ppc32_nodes_attr.h index 51cc8c8c0..30b1aa6c8 100644 --- a/ir/be/ppc32/ppc32_nodes_attr.h +++ b/ir/be/ppc32/ppc32_nodes_attr.h @@ -1,13 +1,33 @@ -#ifndef _PPC32_NODES_ATTR_H_ -#define _PPC32_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 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 "irnode_t.h" +#include "../bearch_t.h" typedef struct { @@ -32,20 +52,17 @@ typedef enum { } ppc32_attr_offset_mode; typedef struct _ppc32_attr_t { - arch_irn_flags_t flags; /**< indicating if spillable, rematerializeable ... etc. */ - int n_res; /**< number of results for this node */ + except_attr exc; /**< the exception attribute. MUST be the first one. */ - 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_t **slots; /**< register slots for assigned registers */ + 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; union { tarval *constant_tarval; ident *symconst_ident; - entity *frame_entity; + ir_entity *frame_entity; rlwimi_const_t rlwimi_const; int proj_nr; int offset; @@ -54,4 +71,4 @@ typedef struct _ppc32_attr_t { } ppc32_attr_t; -#endif /* _PPC32_NODES_ATTR_H_ */ +#endif