diff options
author | Richard Stallman <rms@gnu.org> | 1993-06-14 23:16:31 +0000 |
---|---|---|
committer | Richard Stallman <rms@gnu.org> | 1993-06-14 23:16:31 +0000 |
commit | ffcf63937c553a446e3aaa316094f2dbc32e9b54 (patch) | |
tree | 1a2843348a2b89a3ee2c9977b7535b0e7a2026b0 | |
parent | 315198ab9d659c8326e0a449aaa910ee2de6bece (diff) | |
download | gcc-ffcf63937c553a446e3aaa316094f2dbc32e9b54.zip gcc-ffcf63937c553a446e3aaa316094f2dbc32e9b54.tar.gz gcc-ffcf63937c553a446e3aaa316094f2dbc32e9b54.tar.bz2 |
(invalidate_skipped_set): Promote "nonscalar" to "all".
From-SVN: r4679
-rw-r--r-- | gcc/cse.c | 6 |
1 files changed, 6 insertions, 0 deletions
@@ -7323,6 +7323,12 @@ invalidate_skipped_set (dest, set) if (GET_CODE (dest) == MEM) note_mem_written (dest, &skipped_writes_memory); + /* There are times when an address can appear varying and be a PLUS + during this scan when it would be a fixed address were we to know + the proper equivalences. So promote "nonscalar" to be "all". */ + if (skipped_writes_memory.nonscalar) + skipped_writes_memory.all = 1; + if (GET_CODE (dest) == REG || GET_CODE (dest) == SUBREG || (! skipped_writes_memory.all && ! cse_rtx_addr_varies_p (dest))) invalidate (dest); |