(invalidate_skipped_set): Ignore CLOBBER after calling
note_mem_written, not before. From-SVN: r11786
This commit is contained in:
parent
b757e35281
commit
f47c02fa79
14
gcc/cse.c
14
gcc/cse.c
|
@ -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);
|
||||
|
|
Loading…
Reference in New Issue