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: minor code-quality regression vs. 2.95


On Thu, Apr 13, 2000 at 12:29:27AM -0700, Richard Henderson wrote:
> On Wed, Apr 12, 2000 at 04:08:23PM -0500, Clinton Popetz wrote:
> > It's really a pain that we can't depend on lifetime information throughout
> > the compiler.  Is there an estimate on how much work it would take to make
> > the scheduler maintain REG_DEAD notes?
>
> 
> I'm fairly certain that commentary is out of date as of
> 
>    Wed Oct 20 06:26:58 1999  Richard Henderson  <rth@cygnus.com>
>  
> or so.

This patch passes bootstrap and regression on x86, ppc, and alpha.  Jeff Law
expressed concern that some other pass (besides the scheduler) may munge the
death notes, so this patch may not be safe despite the above testing.  

I'll post the patch for ix86_expand_branch (from earlier in this thread) in a
separate message.  With both patches, I get the original (better) code for
Zack's example.

			-Clint

Thu Apr 13 14:12:05 CDT 2000  Clinton Popetz  <cpopetz@cygnus.com>

	* jump.c (delete_computation): Remove hack for broken schedulers.

Index: jump.c
===================================================================
RCS file: /cvs/gcc/egcs/gcc/jump.c,v
retrieving revision 1.116
diff -c -2 -p -r1.116 jump.c
*** jump.c	2000/03/26 22:43:59	1.116
--- jump.c	2000/04/13 19:01:10
*************** delete_computation (insn)
*** 4091,4104 ****
  #endif
  
- #ifdef INSN_SCHEDULING
-   /* ?!? The schedulers do not keep REG_DEAD notes accurate after
-      reload has completed.  The schedulers need to be fixed.  Until
-      they are, we must not rely on the death notes here.  */
-   if (reload_completed && flag_schedule_insns_after_reload)
-     {
-       delete_insn (insn);
-       return;
-     }
- #endif


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