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]
Other format: [Raw text]

Re: Ping: PR25514: A problem with note distribution in combine


On Thu, May 11, 2006 at 06:53:48AM +0100, Richard Sandiford wrote:
> Alan Modra <amodra@bigpond.net.au> writes:
> > On Wed, May 10, 2006 at 01:47:31PM +0100, Richard Sandiford wrote:
> >> > Alan added the comment:
> >> >
> >> >               /* You might think you could search back from FROM_INSN
> >> >                  rather than from I3, but combine tries to split invalid
> >> >                  combined instructions.  This can result in the old I2
> >> >                  or I1 moving later in the insn sequence.  */
> >
> > If I remember correctly, I was seeing this sequence
> >
> > 	i2
> > 	other insns
> > 	i3
> >
> > being combined to
> >
> > 	deleted
> > 	other insns
> > 	i2+i3
> >
> > but i2+i3 was invalid so it was split to
> >
> > 	deleted
> > 	other insns
> > 	i2
> > 	i3
> 
> I thought if combine split an insn into two, it placed the pattern
> of the first insn in the original i2's PATTERN.  I didn't think it
> inserted new insns like this.  (Assuming we're talking about the
> split_insns code in try_combine here.)

I think it was the code around line 2465 that splits an invalid
PARALLEL, but I may be misremembereing.  I know that code certainly used
to move insns around as I added a test to stop it doing so on
2004-02-12.

> But your message makes me worry that I didn't get my point across.

No, I was only trying to explain why I added the comment.

-- 
Alan Modra
IBM OzLabs - Linux Technology Centre


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