diff options
author | Richard Kenner <kenner@gcc.gnu.org> | 1994-05-31 07:20:06 -0400 |
---|---|---|
committer | Richard Kenner <kenner@gcc.gnu.org> | 1994-05-31 07:20:06 -0400 |
commit | ca800983cb2c749676dc33d52c752ecdee1e0e15 (patch) | |
tree | f4f89401193b2a783ad9add5671d27b0c1d44f34 | |
parent | 058f58ed24812ddfe91a9f8cf8f83378e9fc4c33 (diff) | |
download | gcc-ca800983cb2c749676dc33d52c752ecdee1e0e15.zip gcc-ca800983cb2c749676dc33d52c752ecdee1e0e15.tar.gz gcc-ca800983cb2c749676dc33d52c752ecdee1e0e15.tar.bz2 |
(note_addr_stored): A SET or CLOBBER of a BLKmode MEM means that all
memory is clobbered.
From-SVN: r7395
-rw-r--r-- | gcc/loop.c | 11 |
1 files changed, 7 insertions, 4 deletions
@@ -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; } |