From e26ef527af1d8933591cb8de133a645363508cb3 Mon Sep 17 00:00:00 2001 From: Jeffrey A Law Date: Mon, 1 Nov 1999 02:19:25 +0000 Subject: [PATCH] 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 --- gcc/ChangeLog | 4 ++++ gcc/cse.c | 5 +++-- 2 files changed, 7 insertions(+), 2 deletions(-) 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; } -- 2.30.2