From: Manuel Mohr Date: Tue, 27 Sep 2011 10:58:37 +0000 (+0200) Subject: sparc: Lower CopyB nodes before lowering double words. X-Git-Url: http://nsz.repo.hu/git/?a=commitdiff_plain;h=1216a772fd1b02bde70b8d78c14c140b1ea9eaf8;hp=e8cf3d720aae749ac58d2da1c1f9aff3dccfa087;p=libfirm sparc: Lower CopyB nodes before lowering double words. --- 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,