X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;ds=sidebyside;f=ir%2Fbe%2Fbe_t.h;h=ff6ca443a46cfa73c99b702235d03633e692375e;hb=205396c4f4f5abe7abd6dc2350c8c398a7623afc;hp=b86d4974c23e2bcc5a7bdeedfec42e64abbe3faa;hpb=c5e94f039082de17df10b34a3445c15c0af12f71;p=libfirm diff --git a/ir/be/be_t.h b/ir/be/be_t.h index b86d4974c..ff6ca443a 100644 --- a/ir/be/be_t.h +++ b/ir/be/be_t.h @@ -4,8 +4,8 @@ * @date 8.12.2004 */ -#ifndef _BE_T_H -#define _BE_T_H +#ifndef FIRM_BE_T_H +#define FIRM_BE_T_H #include "firm_types.h" #include "obst.h" @@ -14,8 +14,8 @@ #include "be.h" #include "bearch.h" -#include "beirgmod.h" -#include "execfreq.h" +#include "be_dbgout.h" +#include "beirg.h" #define DUMP_NONE 0 #define DUMP_INITIAL (1 << 0) @@ -38,42 +38,31 @@ enum { }; enum { - BE_SCHED_SELECT_TRIVIAL = 0, - BE_SCHED_SELECT_REGPRESS = 1, - BE_SCHED_SELECT_MUCHNIK = 2, - BE_SCHED_SELECT_HEUR = 3, - BE_SCHED_SELECT_HMUCHNIK = 4, - BE_SCHED_SELECT_RANDOM = 5 + BE_SCHED_LIST, + BE_SCHED_ILP }; -struct _be_options_t { - int dump_flags; - int timing; - int sched_select; - int opt_profile; - int mris; - int omit_fp; - int vrfy_option; - char ilp_server[128]; - char ilp_solver[128]; +/** Backend options */ +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 */ + int stabs_debug_support; /**< enable stabs debugging support */ + int vrfy_option; /**< backend verify option */ + int scheduler; /**< the scheduler */ + char ilp_server[128]; /**< the ilp server name */ + char ilp_solver[128]; /**< the ilp solver name */ + 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; - 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; - exec_freq_t *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; }; /** @@ -83,8 +72,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); - - +int be_put_ignore_regs(const be_irg_t *birg, const arch_register_class_t *cls, + bitset_t *bs); -#endif /* _BE_T_H */ +#endif