aboutsummaryrefslogtreecommitdiff
path: root/gcc/cse.c
diff options
context:
space:
mode:
authorHans-Peter Nilsson <hp@bitrange.com>2012-11-26 03:22:15 +0000
committerHans-Peter Nilsson <hp@gcc.gnu.org>2012-11-26 03:22:15 +0000
commitadddc3471f52ea72f9602b0e716f7cdaee8665b7 (patch)
treeb0f93ca1b6e40dba5a22539f21ca724539f77be1 /gcc/cse.c
parent15c115d38ec01e7f1205f18890ba7597eaef9f80 (diff)
downloadgcc-adddc3471f52ea72f9602b0e716f7cdaee8665b7.zip
gcc-adddc3471f52ea72f9602b0e716f7cdaee8665b7.tar.gz
gcc-adddc3471f52ea72f9602b0e716f7cdaee8665b7.tar.bz2
re PR middle-end/55030 (gcc.c-torture/execute/builtins/memcpy-chk.c execution, -Os (et al))
PR middle-end/55030 * builtins.c (expand_builtin_setjmp_receiver): Update comment regarding purpose of blockage. * emit-rtl.c [!HAVE_blockage] (gen_blockage): Similarly for the head comment. * rtlanal.c (volatile_insn_p): Ditto. * doc/md.texi (blockage): Update similarly. Change wording to require one of two forms, rather than implying a wider choice. * cse.c (cse_insn): Where checking for blocking insns, use volatile_insn_p instead of manual check for volatile ASM. * dse.c (scan_insn): Ditto. * cselib.c (cselib_process_insn): Ditto. From-SVN: r193802
Diffstat (limited to 'gcc/cse.c')
-rw-r--r--gcc/cse.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/gcc/cse.c b/gcc/cse.c
index 4d1d016..ff91b9d 100644
--- a/gcc/cse.c
+++ b/gcc/cse.c
@@ -5661,10 +5661,9 @@ cse_insn (rtx insn)
invalidate (XEXP (dest, 0), GET_MODE (dest));
}
- /* A volatile ASM invalidates everything. */
+ /* A volatile ASM or an UNSPEC_VOLATILE invalidates everything. */
if (NONJUMP_INSN_P (insn)
- && GET_CODE (PATTERN (insn)) == ASM_OPERANDS
- && MEM_VOLATILE_P (PATTERN (insn)))
+ && volatile_insn_p (PATTERN (insn)))
flush_hash_table ();
/* Don't cse over a call to setjmp; on some machines (eg VAX)