X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fbe%2Fbe_t.h;h=74f0a8e8cc4376f422a9682dd3cd98ddce13a3d6;hb=89a447658953e2d62af4d2f8f74b3f22f5f52c0c;hp=a76a8b7ca4a475fbd636e5e9c618d144a0546dde;hpb=71980eeaaceff0b2addcfb231f78aa142f8a7198;p=libfirm diff --git a/ir/be/be_t.h b/ir/be/be_t.h index a76a8b7ca..74f0a8e8c 100644 --- a/ir/be/be_t.h +++ b/ir/be/be_t.h @@ -1,11 +1,30 @@ -/** - * Internal backend global data structures. - * @author Sebastian Hack - * @date 8.12.2004 +/* + * 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. */ -#ifndef _BE_T_H -#define _BE_T_H +/** + * @file + * @brief Internal backend global data structures. + * @author Sebastian Hack + * @version $Id$ + */ +#ifndef FIRM_BE_BE_T_H +#define FIRM_BE_BE_T_H #include "firm_types.h" #include "obst.h" @@ -14,8 +33,8 @@ #include "be.h" #include "bearch.h" -#include "beirgmod.h" #include "be_dbgout.h" +#include "beirg.h" #define DUMP_NONE 0 #define DUMP_INITIAL (1 << 0) @@ -43,8 +62,8 @@ enum { }; /** Backend options */ -struct _be_options_t { - unsigned dump_flags; /**< backend dumping flags */ +struct be_options_t { + unsigned dump_flags; /**< backend dumping flags */ int timing; /**< time the backend phases */ int opt_profile; /**< instrument code for profiling */ int omit_fp; /**< try to omit the frame pointer */ @@ -56,23 +75,13 @@ struct _be_options_t { char stat_file_name[256]; /**< name of the file where the statistics are put to */ }; -struct _be_main_env_t { - struct obstack obst; - struct _be_node_factory_t *node_factory; - struct _arch_env_t *arch_env; - struct _be_options_t *options; - struct _arch_code_generator_t *cg; - struct _arch_irn_handler_t *phi_handler; - dbg_handle *db_handle; - DEBUG_ONLY(firm_dbg_module_t *dbg;) -}; - -struct _be_irg_t { - ir_graph *irg; - struct _be_main_env_t *main_env; - struct _be_abi_irg_t *abi; - struct _arch_code_generator_t *cg; - ir_exec_freq *execfreqs; +struct be_main_env_t { + struct obstack obst; + arch_env_t *arch_env; + be_options_t *options; + arch_code_generator_t *cg; + arch_irn_handler_t *phi_handler; + dbg_handle *db_handle; }; /** @@ -82,8 +91,7 @@ struct _be_irg_t { * @param bs The bitset (may be NULL). * @return The number of registers to be ignored. */ -int be_put_ignore_regs(const struct _be_irg_t *birg, const struct _arch_register_class_t *cls, bitset_t *bs); - - +unsigned be_put_ignore_regs(const be_irg_t *birg, const arch_register_class_t *cls, + bitset_t *bs); -#endif /* _BE_T_H */ +#endif /* FIRM_BE_BE_T_H */