This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: New exception code


  In message <20010507092202.A24937@redhat.com>you write:
  > On Mon, May 07, 2001 at 08:45:02AM -0700, Jeffrey A Law wrote:
  > > 	* except.c (sjlj_mark_call_sites): Do not search for assignments to
  > > 	non-argumment registers that are mentioned in CALL_INSN_FUNCTION_USAGE.
  > 
  > Then you need the same fix in insert_insn_end_bb.
Agreed.  Installed into the mainline sources.

        * gcse.c (insert_insn_end_bb): Do not search for assignments to
        non-argumment registers that are mentioned in CALL_INSN_FUNCTION_USAGE.

Index: gcse.c
===================================================================
RCS file: /cvs/gcc/egcs/gcc/gcse.c,v
retrieving revision 1.129
diff -c -3 -p -r1.129 gcse.c
*** gcse.c	2001/05/02 14:31:43	1.129
--- gcse.c	2001/05/11 22:04:43
*************** insert_insn_end_bb (expr, bb, pre)
*** 4787,4792 ****
--- 4787,4797 ----
  	    if (REGNO (XEXP (XEXP (p, 0), 0)) >= FIRST_PSEUDO_REGISTER)
  	      abort ();
  
+ 	    /* We only care about registers which can hold function
+ 	       arguments.  */
+ 	    if (! FUNCTION_ARG_REGNO_P (REGNO (XEXP (XEXP (p, 0), 0))))
+ 	      continue;
+ 
  	    SET_HARD_REG_BIT (parm_regs, REGNO (XEXP (XEXP (p, 0), 0)));
  	    nparm_regs++;
  	  }





Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]