From 59b2d7222d18108026282f950e94ba8d5a01769a Mon Sep 17 00:00:00 2001 From: Richard Kenner Date: Tue, 20 Oct 1992 06:50:14 -0400 Subject: [PATCH] (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 --- gcc/integrate.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) 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; -- 2.30.2