- firm_dbg_module_t *mod; /**< debugging module */
- int emit_decls; /**< flag indicating if decls were already emitted */
- pmap *types; /**< A map of modes to primitive types */
- pmap *tv_ent; /**< A map of entities that store tarvals */
- const be_irg_t *birg; /**< The be-irg (contains additional information about the irg) */
- ia32_optimize_t opt; /**< contains optimization information */
-} ia32_code_gen_t;
-
-typedef struct _ia32_isa_t {
- const arch_isa_if_t *impl;
- const arch_register_t *sp; /** The stack pointer register. */
- const arch_register_t *bp; /** The base pointer register. */
- const int stack_dir; /** -1 for decreasing, 1 for increasing. */
- int num_codegens;
+ ia32_isa_t *isa; /**< for fast access to the isa object */
+ be_irg_t *birg; /**< The be-irg (contains additional information about the irg) */
+ ir_node **blk_sched; /**< an array containing the scheduled blocks */
+ unsigned do_x87_sim:1; /**< set to 1 if x87 simulation should be enforced */
+ unsigned dump:1; /**< set to 1 if graphs should be dumped */
+ unsigned gprof:1; /**< set to 1 grof profiling is in use */
+ ir_node *unknown_gp; /**< unique Unknown_GP node */
+ ir_node *unknown_vfp; /**< unique Unknown_VFP node */
+ ir_node *unknown_xmm; /**< unique Unknown_XMM node */
+ ir_node *noreg_gp; /**< unique NoReg_GP node */
+ ir_node *noreg_vfp; /**< unique NoReg_VFP node */
+ ir_node *noreg_xmm; /**< unique NoReg_XMM node */
+
+ ir_node *fpu_trunc_mode; /**< truncate fpu mode */
+ ir_node *get_eip; /**< get eip node */
+
+ struct obstack *obst;
+};
+
+/**
+ * IA32 ISA object
+ */
+struct ia32_isa_t {
+ arch_env_t arch_env; /**< must be derived from arch_env_t */
+ pmap *regs_16bit; /**< Contains the 16bits names of the gp registers */
+ pmap *regs_8bit; /**< Contains the 8bits names of the gp registers */
+ pmap *regs_8bit_high; /**< contains the hight part of the 8 bit names of the gp registers */
+ pmap *types; /**< A map of modes to primitive types */
+ pmap *tv_ent; /**< A map of entities that store const tarvals */
+ ia32_code_gen_t *cg; /**< the current code generator */
+ const be_machine_t *cpu; /**< the abstract machine */