From: Jeff Law Date: Wed, 14 Jul 1999 22:29:48 +0000 (-0600) Subject: reload.c (find_reloads): Emit a USE for a pseudo register without a hard register... X-Git-Tag: prereleases/gcc-2.95-test~32 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8ab4cd1d5c95936efcd59c31a43973a8a367d3ae;p=thirdparty%2Fgcc.git reload.c (find_reloads): Emit a USE for a pseudo register without a hard register if... � * reload.c (find_reloads): Emit a USE for a pseudo register without a hard register if we could not create an optional reload for the pseudo. From-SVN: r28101 --- diff --git a/gcc/reload.c b/gcc/reload.c index 011f89955c6e..d8b41363d363 100644 --- a/gcc/reload.c +++ b/gcc/reload.c @@ -3803,11 +3803,16 @@ find_reloads (insn, replace, ind_levels, live_known, reload_reg_p) (insn_code_number < 0 ? 0 : insn_operand_strict_low[insn_code_number][i]), 1, i, operand_type[i]); - /* If a memory reference remains, yet we can't make an optional + /* If a memory reference remains (either as a MEM or a pseudo that + did not get a hard register), yet we can't make an optional reload, check if this is actually a pseudo register reference; we then need to emit a USE and/or a CLOBBER so that reload inheritance will do the right thing. */ - else if (replace && GET_CODE (operand) == MEM) + else if (replace + && (GET_CODE (operand) == MEM + || (GET_CODE (operand) == REG + && REGNO (operand) >= FIRST_PSEUDO_REGISTER + && reg_renumber [REGNO (operand)] < 0))) { operand = *recog_operand_loc[i];