From 53c715b14ccc122f579a77840edd1c23819b3eea Mon Sep 17 00:00:00 2001 From: Christoph Mallon Date: Fri, 30 Nov 2012 11:23:55 +0100 Subject: [PATCH] ia32: Factorise setting do_x87_sim into a helper function. --- ir/be/ia32/bearch_ia32_t.h | 6 ++++++ ir/be/ia32/ia32_new_nodes.c | 7 ++----- ir/be/ia32/ia32_transform.c | 5 ++--- 3 files changed, 10 insertions(+), 8 deletions(-) diff --git a/ir/be/ia32/bearch_ia32_t.h b/ir/be/ia32/bearch_ia32_t.h index d8b1be50c..0a02331e4 100644 --- a/ir/be/ia32/bearch_ia32_t.h +++ b/ir/be/ia32/bearch_ia32_t.h @@ -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. */ diff --git a/ir/be/ia32/ia32_new_nodes.c b/ir/be/ia32/ia32_new_nodes.c index 5119e032c..8a52921f0 100644 --- a/ir/be/ia32/ia32_new_nodes.c +++ b/ir/be/ia32/ia32_new_nodes.c @@ -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) diff --git a/ir/be/ia32/ia32_transform.c b/ir/be/ia32/ia32_transform.c index 8bfa76a74..3bcd9b93e 100644 --- a/ir/be/ia32/ia32_transform.c +++ b/ir/be/ia32/ia32_transform.c @@ -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); } } -- 2.20.1