be: remove remnants of machine description
[libfirm] / ir / be / ia32 / bearch_ia32_t.h
index cb6f93e..cb3ad04 100644 (file)
@@ -21,7 +21,6 @@
  * @file
  * @brief       This is the main ia32 firm backend driver.
  * @author      Christian Wuerdig
- * @version     $Id$
  */
 #ifndef FIRM_BE_IA32_BEARCH_IA32_T_H
 #define FIRM_BE_IA32_BEARCH_IA32_T_H
@@ -34,8 +33,8 @@
 #include "pdeq.h"
 
 #include "be.h"
-#include "../bemachine.h"
-#include "../beemitter.h"
+#include "beemitter.h"
+#include "gen_ia32_regalloc_if.h"
 
 #ifdef NDEBUG
 #define SET_IA32_ORIG_NODE(n, o)
@@ -63,13 +62,9 @@ typedef struct ia32_irg_data_t {
  * IA32 ISA object
  */
 struct ia32_isa_t {
-       arch_env_t             base;          /**< 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 high 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 */
-       const be_machine_t    *cpu;           /**< the abstract machine */
+       arch_env_t             base;     /**< must be derived from arch_env_t */
+       pmap                  *tv_ent;   /**< A map of entities that store const tarvals */
+       int                    fpu_arch; /**< FPU architecture */
 };
 
 /**
@@ -101,7 +96,10 @@ extern transformer_t be_transformer;
 #endif
 
 /** The mode for the floating point control word. */
-extern ir_mode *mode_fpcw;
+extern ir_mode *ia32_mode_fpcw;
+/** extended floatingpoint mode */
+extern ir_mode *ia32_mode_E;
+extern ir_type *ia32_type_E;
 
 static inline ia32_irg_data_t *ia32_get_irg_data(const ir_graph *irg)
 {
@@ -124,7 +122,7 @@ ir_node *ia32_new_Fpu_truncate(ir_graph *irg);
  * Split instruction with source AM into Load and separate instruction.
  * @return result of the Load
  */
-ir_node *turn_back_am(ir_node *node);
+ir_node *ia32_turn_back_am(ir_node *node);
 
 /**
  * Maps all intrinsic calls that the backend support
@@ -149,11 +147,11 @@ ir_entity *ia32_create_intrinsic_fkt(ir_type *method, const ir_op *op,
 /**
  * Return the stack entity that contains the return address.
  */
-ir_entity *ia32_get_return_address_entity(void);
+ir_entity *ia32_get_return_address_entity(ir_graph *irg);
 
 /**
  * Return the stack entity that contains the frame address.
  */
-ir_entity *ia32_get_frame_address_entity(void);
+ir_entity *ia32_get_frame_address_entity(ir_graph *irg);
 
 #endif