ia32: Factorise setting do_x87_sim into a helper function.
authorChristoph Mallon <christoph.mallon@gmx.de>
Fri, 30 Nov 2012 10:23:55 +0000 (11:23 +0100)
committerChristoph Mallon <christoph.mallon@gmx.de>
Fri, 30 Nov 2012 10:23:55 +0000 (11:23 +0100)
ir/be/ia32/bearch_ia32_t.h
ir/be/ia32/ia32_new_nodes.c
ir/be/ia32/ia32_transform.c

index d8b1be5..0a02331 100644 (file)
@@ -105,6 +105,12 @@ static inline ia32_irg_data_t *ia32_get_irg_data(const ir_graph *irg)
        return (ia32_irg_data_t*) be_birg_from_irg(irg)->isa_link;
 }
 
+static inline void ia32_request_x87_sim(ir_graph const *const irg)
+{
+       ia32_irg_data_t *const d = ia32_get_irg_data(irg);
+       d->do_x87_sim = true;
+}
+
 /**
  * Returns the unique per irg GP NoReg node.
  */
index 5119e03..8a52921 100644 (file)
@@ -796,15 +796,12 @@ static void init_ia32_attributes(ir_node *node, arch_irn_flags_t flags,
 
 static void init_ia32_x87_attributes(ir_node *res)
 {
-       ir_graph        *irg      = get_irn_irg(res);
-       ia32_irg_data_t *irg_data = ia32_get_irg_data(irg);
 #ifndef NDEBUG
        ia32_attr_t *attr  = get_ia32_attr(res);
        attr->attr_type   |= IA32_ATTR_ia32_x87_attr_t;
-#else
-       (void) res;
 #endif
-       irg_data->do_x87_sim = 1;
+       ir_graph *const irg = get_irn_irg(res);
+       ia32_request_x87_sim(irg);
 }
 
 static void init_ia32_asm_attributes(ir_node *res)
index 8bfa76a..3bcd9b9 100644 (file)
@@ -4718,9 +4718,8 @@ static ir_node *gen_be_Call(ir_node *node)
                ir_mode *const res_mode = get_type_mode(res_type);
 
                if (res_mode != NULL && mode_is_float(res_mode)) {
-                       ir_graph        *irg      = get_Block_irg(block);
-                       ia32_irg_data_t *irg_data = ia32_get_irg_data(irg);
-                       irg_data->do_x87_sim = 1;
+                       ir_graph *const irg = get_Block_irg(block);
+                       ia32_request_x87_sim(irg);
                }
        }