[patch] Stay in cfglayout mode until after cse2

Steven Bosscher stevenb.gcc@gmail.com
Mon Mar 26 14:01:00 GMT 2007


On 3/26/07, Paolo Bonzini <paolo.bonzini@lu.unisi.ch> wrote:
>
> >> > This is wrong. You would emit the barrier as a non-insn after the end
> >> > of the basic block, which you can't do in cfglayout mode. If the
> >> > barrier would go anywhere, it would be in bb->il.rtl->footer.  But in
> >> > this case, emiting a barrier is just wrong. Why did you need this?
> >>
> >> I don't really recall this exactly, it will take some more
> >> investigation.  It doesn't seem to be so wrong to force the
> >> presence of a barrier when going *out* of cfglayout mode if
> >> there's no fallthrough edge.
> >
> > But cfg_layout_finalize already forces a barrier after non-fallthrough
> > edges, so you still shouldn't need this.
>
> It only does this when it creates a non-fallthrough edge itself
> in force_nonfallthru, AFAICT.  It seems like a barrier is not
> necessary before combine, but is necessary afterwards because
> of some simplification.  If it really bothers you, I'll look for
> a reduced testcase.

It really does bother me. Sorry :-)
I really think that this papers over a problem elsewhere.

Gr.
Steven



More information about the Gcc-patches mailing list