From: Jeffrey A Law Date: Mon, 1 Nov 1999 02:19:25 +0000 (+0000) Subject: cse.c (cse_insn): If an insn has only a single set... X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=e26ef527af1d8933591cb8de133a645363508cb3;p=gcc.git 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 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index b4c4f7136c7..9d6da58fec4 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -34,6 +34,10 @@ Sun Oct 31 13:32:15 CET 1999 Marc Lehmann 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. diff --git a/gcc/cse.c b/gcc/cse.c index e94851342dd..14278aed34b 100644 --- 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; }