summaryrefslogtreecommitdiff
path: root/gcc/cse.c
diff options
context:
space:
mode:
authorjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>2001-04-20 07:56:50 +0000
committerjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>2001-04-20 07:56:50 +0000
commit75f841040798e4e1456d6f74d5fffb5b6654cdb1 (patch)
tree4120801b04df0c391df22ca45c74588def05e73a /gcc/cse.c
parent68edee876f4838b470552143a8de6d60a1c5d68f (diff)
downloadgcc-75f841040798e4e1456d6f74d5fffb5b6654cdb1.tar.gz
* gcse.c (gcse_main): Fix comment typo.
(delete_null_pointer_check): Likewise. (hash_scan_set): Don't consider sets with REG_EQUIV MEM notes. * cse.c (cse_insn): Likewise. * function.c (fixup_var_refs_insns_with_hash): The sequence is toplevel. * gcc.c-torture/execute/20010403-1.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@41444 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/cse.c')
-rw-r--r--gcc/cse.c16
1 files changed, 7 insertions, 9 deletions
diff --git a/gcc/cse.c b/gcc/cse.c
index 6913aef32b5..652dbf0460b 100644
--- a/gcc/cse.c
+++ b/gcc/cse.c
@@ -5067,18 +5067,16 @@ cse_insn (insn, libcall_insn)
sets[i].src_in_memory = hash_arg_in_memory;
/* If SRC is a MEM, there is a REG_EQUIV note for SRC, and DEST is
- a pseudo that is set more than once, do not record SRC. Using
- SRC as a replacement for anything else will be incorrect in that
- situation. Note that this usually occurs only for stack slots,
- in which case all the RTL would be referring to SRC, so we don't
- lose any optimization opportunities by not having SRC in the
- hash table. */
+ a pseudo, do not record SRC. Using SRC as a replacement for
+ anything else will be incorrect in that situation. Note that
+ this usually occurs only for stack slots, in which case all the
+ RTL would be referring to SRC, so we don't lose any optimization
+ opportunities by not having SRC in the hash table. */
if (GET_CODE (src) == MEM
- && find_reg_note (insn, REG_EQUIV, src) != 0
+ && find_reg_note (insn, REG_EQUIV, NULL_RTX) != 0
&& GET_CODE (dest) == REG
- && REGNO (dest) >= FIRST_PSEUDO_REGISTER
- && REG_N_SETS (REGNO (dest)) != 1)
+ && REGNO (dest) >= FIRST_PSEUDO_REGISTER)
sets[i].src_volatile = 1;
#if 0