X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fbe%2Fbe_t.h;h=330d67b17da370a0e2987744e39726f1b54b4205;hb=964aebaae5f9bf41d57592e1cfdc878410c6297e;hp=d3c63fd5e0b982f6b012d3efb1be7dcda8eca097;hpb=379fd05b0fb269dd9b9105810de1ce565b18e446;p=libfirm diff --git a/ir/be/be_t.h b/ir/be/be_t.h index d3c63fd5e..330d67b17 100644 --- a/ir/be/be_t.h +++ b/ir/be/be_t.h @@ -31,9 +31,10 @@ #include "debug.h" #include "bitset.h" #include "timing.h" +#include "pmap.h" #include "be.h" -#include "bearch.h" +#include "bearch_t.h" #include "beirg.h" #define DUMP_NONE 0 @@ -67,22 +68,27 @@ struct be_options_t { int timing; /**< time the backend phases */ int opt_profile; /**< instrument code for profiling */ int omit_fp; /**< try to omit the frame pointer */ + int pic; /**< create position independent code */ + int gprof; /**< create gprof compatible profiling code */ int vrfy_option; /**< backend verify option */ int scheduler; /**< the scheduler */ char target_os[128]; /**< target operating system name */ char ilp_server[128]; /**< the ilp server name */ char ilp_solver[128]; /**< the ilp solver name */ int statev; /**< enable stat event dumping */ - char printev[128]; + char filtev[128]; /**< filter mask for stat events (regex is supported) */ }; struct be_main_env_t { - struct obstack obst; - arch_env_t *arch_env; - be_options_t *options; + arch_env_t arch_env; + be_options_t *options; /**< backend options */ arch_code_generator_t *cg; arch_irn_handler_t *phi_handler; - const char *cup_name; + const char *cup_name; /**< name of the compilation unit */ + pmap *ent_trampoline_map; /**< A map containing PIC trampolines for methods. */ + ir_type *pic_trampolines_type; /**< Class type containing all trampolines */ + pmap *ent_pic_symbol_map; + ir_type *pic_symbols_type; }; /**