This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Patch for jump optimization
- To: "Michael P. Hayes" <michaelh at ongaonga dot chch dot cri dot nz>
- Subject: Re: Patch for jump optimization
- From: Jeffrey A Law <law at cygnus dot com>
- Date: Tue, 03 Feb 1998 22:20:13 -0700
- cc: Weiwen Liu <weiwen dot liu at yale dot edu>, law at cygnus dot com, egcs at cygnus dot com
- Reply-To: law at cygnus dot com
In message <199802030846.VAA11549@ongaonga.chch.cri.nz>you write:
> Weiwen Liu writes:
> > On alpha-dec-osf4.0, the current egcs in the cvs tree fails to build
> > libgcc2.a, because the jump optimization (modified_in_p) fails to
> > process the following insn.
> >
> > (jump_insn 52 51 54 (set (pc)
> > (if_then_else (eq (reg:DI 102)
> > (const_int 0))
> > (label_ref 56)
> > (pc))) 178 {umindi3+2} (nil)
> > (nil))
>
> The problem is that Jeff got a little carried away installing an old
> patch of mine that disabled some jump optimisations if the inserted
> insn clobbered something required by the following insn.
> I fixed the problem for GCC 2.8.0 by looking for safer places that
> the insn could be inserted, and then only rejecting the optimisation
> if it couldn't find a suitable place.
>
I must have missed that -- I didn't remember seeing any related changes go
into gcc-2.8. I must have missed them.
Just so we're both clear, the stuff to handle constants in memory should be
OK right?
> The calls to modified_in_p aren't required.
I'll install your updated patch :-)
Thanks for clarifying things!
jeff