added got_reload flag
authorChristian Würdig <chriswue@ipd.info.uni-karlsruhe.de>
Fri, 11 Aug 2006 13:37:40 +0000 (13:37 +0000)
committerChristian Würdig <chriswue@ipd.info.uni-karlsruhe.de>
Fri, 11 Aug 2006 13:37:40 +0000 (13:37 +0000)
ir/be/ia32/ia32_new_nodes.c
ir/be/ia32/ia32_new_nodes.h
ir/be/ia32/ia32_nodes_attr.h

index aa54161..15ec9f4 100644 (file)
@@ -756,6 +756,30 @@ int is_ia32_got_lea(const ir_node *node) {
        return attr->data.got_lea;
 }
 
+/**
+ * Sets node got_reload.
+ */
+void set_ia32_got_reload(ir_node *node) {
+       ia32_attr_t *attr     = get_ia32_attr(node);
+       attr->data.got_reload = 1;
+}
+
+/**
+ * Clears node got_reload.
+ */
+void clear_ia32_got_reload(ir_node *node) {
+       ia32_attr_t *attr     = get_ia32_attr(node);
+       attr->data.got_reload = 0;
+}
+
+/**
+ * Checks if node got reload.
+ */
+int is_ia32_got_reload(const ir_node *node) {
+       ia32_attr_t *attr = get_ia32_attr(node);
+       return attr->data.got_reload;
+}
+
 /**
  * Gets the mode of the stored/loaded value (only set for Store/Load)
  */
index 662dbab..3b02e51 100644 (file)
@@ -216,6 +216,21 @@ void clear_ia32_got_lea(ir_node *node);
  */
 int is_ia32_got_lea(const ir_node *node);
 
+/**
+ * Sets node got_reload.
+ */
+void set_ia32_got_reload(ir_node *node);
+
+/**
+ * Clears node got_reload.
+ */
+void clear_ia32_got_reload(ir_node *node);
+
+/**
+ * Checks if node got reload.
+ */
+int is_ia32_got_reload(const ir_node *node);
+
 /**
  * Gets the mode of the stored/loaded value (only set for Store/Load)
  */
index 1bafa75..4cbc04c 100644 (file)
@@ -96,7 +96,9 @@ typedef struct _ia32_attr_t {
 
                unsigned got_lea:1;         /**< indicates whether or not this node already consumed a LEA */
 
-               unsigned n_res:7;           /**< number of results produced by this node */
+               unsigned got_reload:1;      /**< set to 1 if node cosumed a reload */
+
+               unsigned n_res:6;           /**< number of results produced by this node */
        } data;
 
        struct obstack *am_offs;     /**< offsets for AddrMode */