From ae15736e2d7c411ecedba356c112ae7a134fc62c Mon Sep 17 00:00:00 2001 From: Joern Rennecke <amylaar@spamcop.net> Date: Mon, 8 Nov 2010 19:44:42 +0000 Subject: [PATCH] =?UTF-8?q?re=20PR=20target/44757=20(lm32.md:=20In=20funct?= =?UTF-8?q?ion=20=E2=80=98gen=5Fashlsi3=E2=80=99:unused=20variable=20?= =?UTF-8?q?=E2=80=98one=E2=80=99)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 2010-11-08 Joern Rennecke <amylaar@spamcop.net> Richard Henderson <rth@redhat.com> PR target/44757 * config/lm32/lm32.h (LEGITIMATE_CONSTANT_P): Call lm32_legitimate_constant_p. * config/lm32/lm32.md (ashlsi3): Remove unused variable. * config/lm32/lm32.c (gen_int_relational): Make new block for LE / LT / LEU / LTU case. Declare variables at start of block. (lm32_block_move_inline): Use XALLOCAVEC. Co-Authored-By: Richard Henderson <rth@redhat.com> From-SVN: r166451 --- gcc/ChangeLog | 8 ++++++++ gcc/config/lm32/lm32.c | 22 +++++++++++++--------- gcc/config/lm32/lm32.h | 2 +- gcc/config/lm32/lm32.md | 1 - 4 files changed, 22 insertions(+), 11 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 9dafa80cd3b2..49378ae057dc 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -39,6 +39,14 @@ (bdesc_void3arg, bdesc_voidacc, bdesc_loads, bdesc_stores): Likewise. (frv_read_argument): Use expand_normal. + PR target/44757 + * config/lm32/lm32.h (LEGITIMATE_CONSTANT_P): Call + lm32_legitimate_constant_p. + * config/lm32/lm32.md (ashlsi3): Remove unused variable. + * config/lm32/lm32.c (gen_int_relational): Make new block for + LE / LT / LEU / LTU case. Declare variables at start of block. + (lm32_block_move_inline): Use XALLOCAVEC. + 2010-11-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> * config/i386/i386.c (ix86_function_arg_boundary): Fix warning diff --git a/gcc/config/lm32/lm32.c b/gcc/config/lm32/lm32.c index 18a4b4403cd5..ef09377626dd 100644 --- a/gcc/config/lm32/lm32.c +++ b/gcc/config/lm32/lm32.c @@ -191,18 +191,22 @@ gen_int_relational (enum rtx_code code, case LT: case LEU: case LTU: - code = swap_condition (code); - rtx temp = cmp0; - cmp0 = cmp1; - cmp1 = temp; - break; + { + rtx temp; + + code = swap_condition (code); + temp = cmp0; + cmp0 = cmp1; + cmp1 = temp; + break; + } default: break; } if (branch_p) { - rtx insn; + rtx insn, cond, label; /* Operands must be in registers. */ if (!register_operand (cmp0, mode)) @@ -211,8 +215,8 @@ gen_int_relational (enum rtx_code code, cmp1 = force_reg (mode, cmp1); /* Generate conditional branch instruction. */ - rtx cond = gen_rtx_fmt_ee (code, mode, cmp0, cmp1); - rtx label = gen_rtx_LABEL_REF (VOIDmode, destination); + cond = gen_rtx_fmt_ee (code, mode, cmp0, cmp1); + label = gen_rtx_LABEL_REF (VOIDmode, destination); insn = gen_rtx_SET (VOIDmode, pc_rtx, gen_rtx_IF_THEN_ELSE (VOIDmode, cond, label, pc_rtx)); @@ -841,7 +845,7 @@ lm32_block_move_inline (rtx dest, rtx src, HOST_WIDE_INT length, delta = bits / BITS_PER_UNIT; /* Allocate a buffer for the temporary registers. */ - regs = alloca (sizeof (rtx) * length / delta); + regs = XALLOCAVEC (rtx, length / delta); /* Load as many BITS-sized chunks as possible. */ for (offset = 0, i = 0; offset + delta <= length; offset += delta, i++) diff --git a/gcc/config/lm32/lm32.h b/gcc/config/lm32/lm32.h index c87c3bb705a2..1c10f16c812d 100644 --- a/gcc/config/lm32/lm32.h +++ b/gcc/config/lm32/lm32.h @@ -350,7 +350,7 @@ enum reg_class #define REG_OK_FOR_BASE_P(X) NONSTRICT_REG_OK_FOR_BASE_P(X) #endif -#define LEGITIMATE_CONSTANT_P(X) lm32_legitimate_constant_p +#define LEGITIMATE_CONSTANT_P(X) lm32_legitimate_constant_p (X) /*-------------------------*/ /* Condition Code Status. */ diff --git a/gcc/config/lm32/lm32.md b/gcc/config/lm32/lm32.md index 6d4305380c0b..72c0d843c0b2 100644 --- a/gcc/config/lm32/lm32.md +++ b/gcc/config/lm32/lm32.md @@ -824,7 +824,6 @@ { int i; int shifts = INTVAL (operands[2]); - rtx one = GEN_INT (1); if (shifts == 0) emit_move_insn (operands[0], operands[1]); -- GitLab