X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fbe%2Fbeinsn_t.h;h=703d2c2e01e39cab27451a9a561fdbd123b595bb;hb=568a27341dd03831ca76a7fa3b83f7fdcfbb0859;hp=73a6e67df5432c4c2d4f4b6eb8dd64a38ff5ca31;hpb=4d5c3365a58cba59993045a9e08e686d8ae079a7;p=libfirm diff --git a/ir/be/beinsn_t.h b/ir/be/beinsn_t.h index 73a6e67df..703d2c2e0 100644 --- a/ir/be/beinsn_t.h +++ b/ir/be/beinsn_t.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 1995-2007 University of Karlsruhe. All right reserved. + * Copyright (C) 1995-2008 University of Karlsruhe. All right reserved. * * This file is part of libFirm. * @@ -18,25 +18,28 @@ */ /** - * Instructions - * - * A data structure to treat nodes and node-proj collections uniformly. + * @file + * @brief A data structure to treat nodes and node-proj collections uniformly. + * @author Sebastian Hack + * @version $Id$ */ +#ifndef FIRM_BE_BEINSN_T_H +#define FIRM_BE_BEINSN_T_H -#ifndef _BEINSN_T_H -#define _BEINSN_T_H - +#include "firm_types.h" #include "bitset.h" +#include "obst.h" -#include "bearch_t.h" +#include "bearch.h" +#include "beirg.h" typedef struct _be_operand_t be_operand_t; typedef struct _be_insn_t be_insn_t; typedef struct _be_insn_env_t be_insn_env_t; struct _be_operand_t { - ir_node *irn; /**< firm node of the insn this operand blongs to */ - ir_node *carrier; /**< node representing the operand value (proj or the node itself for defs, the value itself for uses */ + ir_node *irn; /**< Firm node of the insn this operand belongs to */ + ir_node *carrier; /**< node representing the operand value (Proj or the node itself for defs, the value itself for uses */ be_operand_t *partner; /**< used in bechordal later... (TODO what does it do?) */ bitset_t *regs; /**< admissible register bitset */ int pos; /**< pos of the operand (0 to n are inputs, -1 to -n are outputs) */ @@ -51,7 +54,7 @@ struct _be_insn_t { [use_start-n_ops) uses */ ir_node *next_insn; /**< next instruction in schedule */ ir_node *irn; /**< ir_node of the instruction */ - unsigned in_constraints : 1; /**< instruction has input contraints */ + unsigned in_constraints : 1; /**< instruction has input constraints */ unsigned out_constraints : 1; /**< instruction has output constraints */ unsigned has_constraints : 1; /**< in_constraints or out_constraints true */ unsigned pre_colored : 1; /**< all defined values already have a register assigned */ @@ -59,7 +62,6 @@ struct _be_insn_t { struct _be_insn_env_t { struct obstack *obst; - const arch_env_t *aenv; const arch_register_class_t *cls; bitset_t *ignore_colors; }; @@ -71,4 +73,4 @@ be_insn_t *be_scan_insn(const be_insn_env_t *env, ir_node *irn); be_insn_env_t *be_insn_env_init(be_insn_env_t *ie, const be_irg_t *birg, const arch_register_class_t *cls, struct obstack *obst); -#endif /* _BEINSN_T_H */ +#endif /* FIRM_BE_BEINSN_T_H */