diff options
author | Jeffrey A Law <law@cygnus.com> | 1999-11-01 02:19:25 +0000 |
---|---|---|
committer | Jeff Law <law@gcc.gnu.org> | 1999-10-31 19:19:25 -0700 |
commit | e26ef527af1d8933591cb8de133a645363508cb3 (patch) | |
tree | 343a850c98b31fee10c37d787d9d63d4e05fa27a /gcc/cse.c | |
parent | 99f44eba5f589e1630ba622a706800417d3d4269 (diff) | |
download | gcc-e26ef527af1d8933591cb8de133a645363508cb3.zip gcc-e26ef527af1d8933591cb8de133a645363508cb3.tar.gz gcc-e26ef527af1d8933591cb8de133a645363508cb3.tar.bz2 |
cse.c (cse_insn): If an insn has only a single set...
* cse.c (cse_insn): If an insn has only a single set, SRC_EQV
is nonzero and the single set does not have an elt, then assign
it an elt.
From-SVN: r30304
Diffstat (limited to 'gcc/cse.c')
-rw-r--r-- | gcc/cse.c | 5 |
1 files changed, 3 insertions, 2 deletions
@@ -5733,8 +5733,9 @@ cse_insn (insn, libcall_insn) does not yet have an elt, and if so set the elt of the set source to src_eqv_elt. */ for (i = 0; i < n_sets; i++) - if (sets[i].rtl && sets[i].src_elt == 0 - && rtx_equal_p (SET_SRC (sets[i].rtl), src_eqv)) + if (n_sets == 1 + || (sets[i].rtl && sets[i].src_elt == 0 + && rtx_equal_p (SET_SRC (sets[i].rtl), src_eqv))) sets[i].src_elt = src_eqv_elt; } |