From: Bernd Schmidt Date: Fri, 30 Mar 2001 13:22:22 +0000 (+0000) Subject: Clean up SUBREGs inside memory references X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e67a32474380d94dc85d47111a719620e7213cdd;p=thirdparty%2Fgcc.git Clean up SUBREGs inside memory references From-SVN: r40965 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index f899c1c3e9ea..5bd0802858b9 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -5,6 +5,8 @@ * reload1.c (delete_output_reload): Call eliminate_regs on substed. (reload_as_needed): Call update_eliminable_offsets a bit later. + * final.c (cleanup_subreg_operands): Also clean up inside MEMs. + 2001-03-28 Bernd Schmidt * flow.c (propagate_block): When trying to delete a case vector, cope diff --git a/gcc/final.c b/gcc/final.c index d12ec87ec475..7a31cdeef8a5 100644 --- a/gcc/final.c +++ b/gcc/final.c @@ -3047,7 +3047,8 @@ cleanup_subreg_operands (insn) if (GET_CODE (recog_operand[i]) == SUBREG) recog_operand[i] = alter_subreg (recog_operand[i]); else if (GET_CODE (recog_operand[i]) == PLUS - || GET_CODE (recog_operand[i]) == MULT) + || GET_CODE (recog_operand[i]) == MULT + || GET_CODE (recog_operand[i]) == MEM) recog_operand[i] = walk_alter_subreg (recog_operand[i]); } @@ -3056,7 +3057,8 @@ cleanup_subreg_operands (insn) if (GET_CODE (*recog_dup_loc[i]) == SUBREG) *recog_dup_loc[i] = alter_subreg (*recog_dup_loc[i]); else if (GET_CODE (*recog_dup_loc[i]) == PLUS - || GET_CODE (*recog_dup_loc[i]) == MULT) + || GET_CODE (*recog_dup_loc[i]) == MULT + || GET_CODE (*recog_dup_loc[i]) == MEM) *recog_dup_loc[i] = walk_alter_subreg (*recog_dup_loc[i]); } }