From: Richard Kenner Date: Tue, 20 Oct 1992 10:50:14 +0000 (-0400) Subject: (copy_rtx_and_substitute): Don't assume force_operand on an address returns a REG... X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=59b2d7222d18108026282f950e94ba8d5a01769a;p=gcc.git (copy_rtx_and_substitute): Don't assume force_operand on an address returns a REG; it might be a SUBREG. (copy_rtx_and_substitute): Don't assume force_operand on an address returns a REG; it might be a SUBREG. Use force_reg. From-SVN: r2527 --- diff --git a/gcc/integrate.c b/gcc/integrate.c index 965bc9f1334..611bbad6d14 100644 --- a/gcc/integrate.c +++ b/gcc/integrate.c @@ -1886,7 +1886,8 @@ copy_rtx_and_substitute (orig, map) rounded = CEIL_ROUND (size, BIGGEST_ALIGNMENT / BITS_PER_UNIT); loc = plus_constant (loc, rounded); #endif - map->reg_map[regno] = temp = force_operand (loc, NULL_RTX); + map->reg_map[regno] = temp + = force_reg (Pmode, force_operand (loc, NULL_RTX)); map->const_equiv_map[REGNO (temp)] = loc; map->const_age_map[REGNO (temp)] = CONST_AGE_PARM; @@ -1905,7 +1906,8 @@ copy_rtx_and_substitute (orig, map) start_sequence (); loc = assign_stack_temp (BLKmode, size, 1); loc = XEXP (loc, 0); - map->reg_map[regno] = temp = force_operand (loc, NULL_RTX); + map->reg_map[regno] = temp + = force_reg (Pmode, force_operand (loc, NULL_RTX)); map->const_equiv_map[REGNO (temp)] = loc; map->const_age_map[REGNO (temp)] = CONST_AGE_PARM;