(note_addr_stored): A SET or CLOBBER of a BLKmode MEM means that all

memory is clobbered.

From-SVN: r7395
This commit is contained in:
Richard Kenner 1994-05-31 07:20:06 -04:00
parent 058f58ed24
commit ca800983cb
1 changed files with 7 additions and 4 deletions

View File

@ -2593,6 +2593,10 @@ note_addr_stored (x)
This affects heuristics in strength_reduce. */
num_mem_sets++;
/* BLKmode MEM means all memory is clobbered. */
if (GET_MODE (x) == BLKmode)
unknown_address_altered = 1;
if (unknown_address_altered)
return;
@ -2601,10 +2605,9 @@ note_addr_stored (x)
&& MEM_IN_STRUCT_P (x) == MEM_IN_STRUCT_P (loop_store_mems[i]))
{
/* We are storing at the same address as previously noted. Save the
wider reference, treating BLKmode as wider. */
if (GET_MODE (x) == BLKmode
|| (GET_MODE_SIZE (GET_MODE (x))
> GET_MODE_SIZE (GET_MODE (loop_store_mems[i]))))
wider reference. */
if (GET_MODE_SIZE (GET_MODE (x))
> GET_MODE_SIZE (GET_MODE (loop_store_mems[i])))
loop_store_mems[i] = x;
break;
}