#include "obst.h"
#include "debug.h"
-typedef struct _be_main_env_t {
+#include "irgraph.h"
+
+#include "be.h"
+#include "bearch.h"
+#include "beirgmod.h"
+
+struct _be_options_t {
+ char ilp_solver[128];
+ char ilp_server[128];
+};
+
+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;
firm_dbg_module_t *dbg;
-} be_main_env_t;
-typedef struct _be_main_session_env_t {
- const be_main_env_t *main_env;
- ir_graph *irg;
- struct _dom_front_info_t *dom_front;
-} be_main_session_env_t;
+ const arch_register_t **caller_save; /**< NULL-terminated list of caller save registers. */
+ const arch_register_t **callee_save; /**< NULL-terminated list of callee save registers. */
+};
+
+struct _be_irg_t {
+ ir_graph *irg;
+ struct _be_main_env_t *main_env;
+ struct _dom_front_info_t *dom_front;
+ struct _be_abi_irg_t *abi;
+ struct _arch_code_generator_t *cg;
+};
#endif