From 1216a772fd1b02bde70b8d78c14c140b1ea9eaf8 Mon Sep 17 00:00:00 2001 From: Manuel Mohr Date: Tue, 27 Sep 2011 12:58:37 +0200 Subject: [PATCH] sparc: Lower CopyB nodes before lowering double words. --- ir/be/sparc/bearch_sparc.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/ir/be/sparc/bearch_sparc.c b/ir/be/sparc/bearch_sparc.c index 9c2fef41d..690f2bede 100644 --- a/ir/be/sparc/bearch_sparc.c +++ b/ir/be/sparc/bearch_sparc.c @@ -426,6 +426,13 @@ static void sparc_lower_for_target(void) lower_calls_with_compounds(LF_RETURN_HIDDEN); + for (i = 0; i < n_irgs; ++i) { + ir_graph *irg = get_irp_irg(i); + /* Turn all small CopyBs into loads/stores and all bigger CopyBs into + * memcpy calls. */ + lower_CopyB(irg, 31, 32, false); + } + if (sparc_isa_template.fpu_arch == SPARC_FPU_ARCH_SOFTFLOAT) lower_floating_point(); @@ -439,13 +446,6 @@ static void sparc_lower_for_target(void) lower_switch(irg, 4, 256, false); lower_alloc(irg, SPARC_STACK_ALIGNMENT, false, -SPARC_MIN_STACKSIZE); } - - for (i = 0; i < n_irgs; ++i) { - ir_graph *irg = get_irp_irg(i); - /* Turn all small CopyBs into loads/stores and all bigger CopyBs into - * memcpy calls. */ - lower_CopyB(irg, 31, 32, false); - } } static int sparc_is_mux_allowed(ir_node *sel, ir_node *mux_false, -- 2.20.1