This is the mail archive of the gcc@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: Question on fixup_abnormal_edges


> Hi,
> 
> On Tue, 1 Oct 2002, Olivier Hainque wrote:
> 
> > > Doh, in my local copy of 3.2 ;-)  But it's definitely in HEAD.
> >
> >  Indeed. Thanks for your input.
> >
> >  I had checked HEAD, but was mistakenly looking for an explicit test against
> >  "e" and missed the change you mentioned.
> >
> >  It did not help much, unfortunately, as we are getting there with the insn
> >  below, which is not a USE :/
> >
> >  (insn 2134 444 445 (set (reg:DI 22 $22)
> >         (mem:DI (plus:DI (reg/f:DI 29 $29)
> >                 (const_int 640 [0x280])) [48 S8 A64])) 244 {*movdi_nofix} (nil)
> >     (nil))
> 
> Well, this insn is really doing something, and it's not jumping, so after
> it there _must_ be an fallthrough edge to the next insn.  If it's missing
> something was broken.

It may be the case of jump insn requiring reload for some side effect.
Our reload implementation does not support such cases so the machine
description needs to be fixed.  See loop instruction pattern on i386 on
how that can be done.

Honza
> 
> 
> Ciao,
> Michael.


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