X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fbe%2Fbe_t.h;h=930239e61167ec9fe3c9b6b5f65dc7ad3201a154;hb=b9d45e08e23bcf058fa8f2d9e18dd78e8cccd044;hp=3f87db98406b26ad8c5fc3d8c86fdeb47bbbdd76;hpb=18f8a896fcb7194ac6b875dddb6047f31e00e9af;p=libfirm diff --git a/ir/be/be_t.h b/ir/be/be_t.h index 3f87db984..930239e61 100644 --- a/ir/be/be_t.h +++ b/ir/be/be_t.h @@ -15,6 +15,7 @@ #include "be.h" #include "bearch.h" #include "beirgmod.h" +#include "be_dbgout.h" #define DUMP_NONE 0 #define DUMP_INITIAL (1 << 0) @@ -41,29 +42,33 @@ enum { BE_SCHED_SELECT_REGPRESS = 1, BE_SCHED_SELECT_MUCHNIK = 2, BE_SCHED_SELECT_HEUR = 3, - BE_SCHED_SELECT_HMUCHNIK = 4 + BE_SCHED_SELECT_HMUCHNIK = 4, + BE_SCHED_SELECT_RANDOM = 5 }; +/** Backend options */ 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]; + int dump_flags; /**< backend dumping flags */ + int timing; /**< time the backend phases */ + int sched_select; /**< the current scheduler */ + int opt_profile; /**< instrument code for profiling */ + int mris; /**< enable mris preparation */ + int omit_fp; /**< try to omit the frame pointer */ + int stabs_debug_support; /**< enable stabs debugging support */ + int vrfy_option; /**< backend verify option */ + char ilp_server[128]; /**< the ilp server name */ + char ilp_solver[128]; /**< the ilp solver name */ }; 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 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 { @@ -71,6 +76,7 @@ struct _be_irg_t { struct _be_main_env_t *main_env; struct _be_abi_irg_t *abi; struct _arch_code_generator_t *cg; + exec_freq_t *execfreqs; }; /**