Small simplification in ia32 ASM emitter.
[libfirm] / ir / be / ia32 / ia32_common_transform.h
index 1f7a524..6334f35 100644 (file)
  * @file
  * @brief       This file implements the common parts of IR transformation from
  *              firm into ia32-Firm.
- * @author      Sebastian Buchwald
+ * @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 "bearch_ia32_t.h"
+#include "height.h"
 
 /**
  * An assembler constraint.
@@ -43,6 +44,7 @@ struct constraint_t {
 };
 
 extern ia32_code_gen_t *env_cg;
+extern heights_t *heights;
 
 /**
  * Get an atomic entity that is initialized with a tarval forming
@@ -84,6 +86,18 @@ int ia32_mode_needs_gp_reg(ir_mode *mode);
  */
 ir_node *gen_ASM(ir_node *node);
 
+/**
+ * Transforms a CopyB node.
+ *
+ * @return The transformed node.
+ */
+ir_node *gen_CopyB(ir_node *node);
+
+/**
+ * Transform the Thread Local Storage Proj.
+ */
+ir_node *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