summaryrefslogtreecommitdiff
path: root/gcc/cse.c
diff options
context:
space:
mode:
authorhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>2007-07-09 10:22:36 +0000
committerhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>2007-07-09 10:22:36 +0000
commitce9e1d34f3851eb3aa3d69fd08c7601427798b40 (patch)
tree7f415ab33153ec679e311d8c4d75983018a8062a /gcc/cse.c
parented32c0902c335ab8c19e7a2930b2f053cea374cc (diff)
downloadgcc-ce9e1d34f3851eb3aa3d69fd08c7601427798b40.tar.gz
* cse.c (cse_insn): Avoid invalid sharing on trial replacement.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@126481 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/cse.c')
-rw-r--r--gcc/cse.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/cse.c b/gcc/cse.c
index d79ad68ac78..234bcc7bfe6 100644
--- a/gcc/cse.c
+++ b/gcc/cse.c
@@ -4830,7 +4830,8 @@ cse_insn (rtx insn, rtx libcall_insn)
;
/* Look for a substitution that makes a valid insn. */
- else if (validate_change (insn, &SET_SRC (sets[i].rtl), trial, 0))
+ else if (validate_unshare_change
+ (insn, &SET_SRC (sets[i].rtl), trial, 0))
{
rtx new = canon_reg (SET_SRC (sets[i].rtl), insn);