]> gcc.gnu.org Git - gcc.git/commitdiff
cse.c (cse_insn): If an insn has only a single set...
authorJeffrey A Law <law@cygnus.com>
Mon, 1 Nov 1999 02:19:25 +0000 (02:19 +0000)
committerJeff Law <law@gcc.gnu.org>
Mon, 1 Nov 1999 02:19:25 +0000 (19:19 -0700)
        * 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

gcc/ChangeLog
gcc/cse.c

index b4c4f7136c7cc8b737cf0035955660bb3fa8f0b1..9d6da58fec430a34904983c94b97a693d7aa61ec 100644 (file)
@@ -34,6 +34,10 @@ Sun Oct 31 13:32:15 CET 1999  Marc Lehmann <pcg@goof.com>
 
 Sun Oct 31 01:53:30 1999  Jeffrey A Law  (law@cygnus.com)
 
+       * 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.
+
        * simplify-rtx.c: New file.
        * Makefile.in (OBJS): Add simplify-rtx.o
        (simplify-rtx.o): Add dependencies.
index e94851342dd083854bae2e21033b467a5ab78b66..14278aed34ba3b3c31498099fe3f5227d59b8179 100644 (file)
--- a/gcc/cse.c
+++ b/gcc/cse.c
@@ -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;
     }
 
This page took 0.082011 seconds and 5 git commands to generate.