ia32: Inline get_ia32_orig_node() into its only caller.
[libfirm] / ir / be / ia32 / ia32_common_transform.h
index 0915fd0..1bf8232 100644 (file)
  * @brief       This file implements the common parts of IR transformation from
  *              firm into ia32-Firm.
  * @author      Matthias Braun, Sebastian Buchwald
- * @version     $Id: ia32_common_transform.h 20999 2008-08-05 16:48:29Z beck $
  */
 #ifndef FIRM_BE_IA32_IA32_COMMON_TRANSFORM_H
 #define FIRM_BE_IA32_IA32_COMMON_TRANSFORM_H
 
+#include "firm_types.h"
 #include "bearch_ia32_t.h"
-#include "height.h"
 
 /**
  * An assembler constraint.
@@ -43,26 +42,27 @@ struct constraint_t {
        int                          same_as;
 };
 
-extern ia32_code_gen_t *env_cg;
-extern heights_t *heights;
-extern int        no_pic_adjust;
+extern ir_heights_t *ia32_heights;
+extern int           ia32_no_pic_adjust;
+
+ir_type *ia32_get_prim_type(const ir_mode *mode);
 
 /**
  * Get an atomic entity that is initialized with a tarval forming
  * a given constant.
- *
- * @param cnst             the node representing the constant
  */
-ir_entity *create_float_const_entity(ir_node *cnst);
+ir_entity *ia32_create_float_const_entity(ia32_isa_t *isa, ir_tarval *tv,
+                                          ident *name);
 
 /**
  * Creates an immediate.
  *
+ * @param irg            The IR graph the node belongs to.
  * @param symconst       if set, create a SymConst immediate
  * @param symconst_sign  sign for the symconst
  * @param val            integer value for the immediate
  */
-ir_node *ia32_create_Immediate(ir_entity *symconst, int symconst_sign, long val);
+ir_node *ia32_create_Immediate(ir_graph *irg, ir_entity *symconst, int symconst_sign, long val);
 
 /**
  * returns register by name (used for determining clobber specifications in
@@ -78,38 +78,35 @@ int ia32_mode_needs_gp_reg(ir_mode *mode);
 /**
  * generates code for a ASM node
  */
-ir_node *gen_ASM(ir_node *node);
+ir_node *ia32_gen_ASM(ir_node *node);
 
 /**
  * Transforms a CopyB node.
  *
  * @return The transformed node.
  */
-ir_node *gen_CopyB(ir_node *node);
+ir_node *ia32_gen_CopyB(ir_node *node);
 
 /**
  * Transform the Thread Local Storage Proj.
  */
-ir_node *gen_Proj_tls(ir_node *node);
+ir_node *ia32_gen_Proj_tls(ir_node *node);
 
 /**
  * This function just sets the register for the Unknown node
  * as this is not done during register allocation because Unknown
  * is an "ignore" node.
  */
-ir_node *gen_Unknown(ir_node *node);
-
-const arch_register_req_t *make_register_req(const constraint_t *constraint,
-               int n_outs, const arch_register_req_t **out_reqs, int pos);
+ir_node *ia32_gen_Unknown(ir_node *node);
 
-const arch_register_req_t *parse_clobber(const char *clobber);
+const arch_register_req_t *ia32_parse_clobber(const char *clobber);
 
 /**
  * Checks whether other node inputs depend on the am_candidate (via mem-proj).
  */
-int prevents_AM(ir_node *const block, ir_node *const am_candidate,
+int ia32_prevents_AM(ir_node *const block, ir_node *const am_candidate,
                        ir_node *const other);
 
-ir_node *try_create_Immediate(ir_node *node, char immediate_constraint_type);
+ir_node *ia32_try_create_Immediate(ir_node *node, char immediate_constraint_type);
 
 #endif