Simplify code to relax the condition in get_flags_node().
[libfirm] / ir / be / ia32 / ia32_nodes_attr.h
index 4d80a88..71dd0e1 100644 (file)
  * @file
  * @brief       Type definitions for ia32 node attributes.
  * @author      Christian Wuerdig
- * @version     $Id$
  */
 #ifndef FIRM_BE_IA32_IA32_NODES_ATTR_H
 #define FIRM_BE_IA32_IA32_NODES_ATTR_H
 
 #include "firm_types.h"
-#include "../bearch.h"
-#include "../bemachine.h"
+#include "bearch.h"
 #include "irnode_t.h"
 
 /** ia32 condition codes (the numbers correspond to the real encoding order) */
@@ -145,7 +143,7 @@ ENUM_BITSET(match_flags_t)
 
 typedef struct ia32_op_attr_t ia32_op_attr_t;
 struct ia32_op_attr_t {
-       match_flags_t  flags;
+       //match_flags_t  flags;
        unsigned       latency;
 };
 
@@ -177,6 +175,7 @@ struct ia32_attr_t {
                unsigned am_sc_sign:1;          /**< The sign bit of the address mode symconst. */
 
                unsigned am_sc_no_pic_adjust : 1;/**< AM symconst can be relative to EIP */
+               unsigned am_tls_segment:1;       /**< addresses are relative to TLS */
                unsigned use_frame:1;           /**< Indicates whether the operation uses the frame pointer or not. */
                unsigned has_except_label:1;        /**< Set if this node needs a label because of possible exception. */
 
@@ -200,8 +199,6 @@ struct ia32_attr_t {
 
        ir_entity *frame_ent; /**< the frame entity attached to this node */
 
-       const be_execution_unit_t ***exec_units; /**< list of units this operation can be executed on */
-
        ir_label_t        exc_label;       /**< the exception label iff this instruction can throw an exception */
 
 #ifndef NDEBUG
@@ -234,8 +231,9 @@ struct ia32_condcode_attr_t {
  */
 typedef struct ia32_switch_attr_t ia32_switch_attr_t;
 struct ia32_switch_attr_t {
-       ia32_attr_t  attr;        /**< generic attribute */
-       long         default_pn;
+       ia32_attr_t            attr;        /**< generic attribute */
+       const ir_switch_table *table;
+       ir_entity             *jump_table;
 };
 
 /**