diff options
author | Richard Kenner <kenner@gcc.gnu.org> | 1996-04-15 08:49:02 -0400 |
---|---|---|
committer | Richard Kenner <kenner@gcc.gnu.org> | 1996-04-15 08:49:02 -0400 |
commit | f47c02fa79ae06338b50cb475fb4503cce921562 (patch) | |
tree | 7af41dc792a3d63ea3dc83a34e94e3279984d7b6 /gcc/cse.c | |
parent | b757e352816a7880ec42011666c5c7b33d6b7f4e (diff) | |
download | gcc-f47c02fa79ae06338b50cb475fb4503cce921562.zip gcc-f47c02fa79ae06338b50cb475fb4503cce921562.tar.gz gcc-f47c02fa79ae06338b50cb475fb4503cce921562.tar.bz2 |
(invalidate_skipped_set): Ignore CLOBBER after calling
note_mem_written, not before.
From-SVN: r11786
Diffstat (limited to 'gcc/cse.c')
-rw-r--r-- | gcc/cse.c | 14 |
1 files changed, 7 insertions, 7 deletions
@@ -7820,13 +7820,6 @@ invalidate_skipped_set (dest, set) rtx set; rtx dest; { - if (GET_CODE (set) == CLOBBER -#ifdef HAVE_cc0 - || dest == cc0_rtx -#endif - || dest == pc_rtx) - return; - if (GET_CODE (dest) == MEM) note_mem_written (dest, &skipped_writes_memory); @@ -7836,6 +7829,13 @@ invalidate_skipped_set (dest, set) if (skipped_writes_memory.nonscalar) skipped_writes_memory.all = 1; + if (GET_CODE (set) == CLOBBER +#ifdef HAVE_cc0 + || dest == cc0_rtx +#endif + || dest == pc_rtx) + return; + if (GET_CODE (dest) == REG || GET_CODE (dest) == SUBREG || (! skipped_writes_memory.all && ! cse_rtx_addr_varies_p (dest))) invalidate (dest, VOIDmode); |