* 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 <bernds@redhat.com>
* flow.c (propagate_block): When trying to delete a case vector, cope
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]);
}
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]);
}
}