This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
patch applied to cse.c
- To: egcs-patches at egcs dot cygnus dot com
- Subject: patch applied to cse.c
- From: Joern Rennecke <amylaar at cygnus dot co dot uk>
- Date: Wed, 16 Jun 1999 21:33:54 +0100 (BST)
- Cc: amylaar at cygnus dot co dot uk
Reviewed by Jim Wilson:
Wed Jun 16 20:29:00 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
* cse.c (cse_insn): Don't put hard register source into tables for
the last insn of a libcall.
Index: cse.c
===================================================================
RCS file: /cvs/cvsfiles/devo/gcc/cse.c,v
retrieving revision 1.168
diff -p -r1.168 cse.c
*** cse.c 1999/05/11 01:47:36 1.168
--- cse.c 1999/06/16 19:29:47
*************** cse_insn (insn, libcall_insn)
*** 7604,7610 ****
enum machine_mode mode
= GET_MODE (src) == VOIDmode ? GET_MODE (dest) : GET_MODE (src);
! if (sets[i].src_elt == 0)
{
register struct table_elt *elt;
--- 7623,7634 ----
enum machine_mode mode
= GET_MODE (src) == VOIDmode ? GET_MODE (dest) : GET_MODE (src);
! /* Don't put a hard register source into the table if this is
! the last insn of a libcall. */
! if (sets[i].src_elt == 0
! && (GET_CODE (src) != REG
! || REGNO (src) >= FIRST_PSEUDO_REGISTER
! || ! find_reg_note (insn, REG_RETVAL, NULL_RTX)))
{
register struct table_elt *elt;