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: make commit_edge_insertion ready to commit multiple entry prologues


> 
> > +   edge falltru = 0;
> 
> fallthru.
> 
> > +   /* Last basic block must end in the original BB end.  */
> > +   if (jump_insn)
> > +     abort ();
> 
> Any reason why that can't be a jump?
The function works by "wiring in" the original edges after last basic block.
I may just delete them and re-instert as I do for new basic blocks, but then I would
be forced to handle generic jumps (function currently handles just jumps with single
target) and I may hit the quadratic worst case, since I don't have edge_cache.

So I decided to be conservative - if someone will ever want to use it for something
more general than just expander emiting simple control flow inside, he can update the
function.

Honza
> 
> 
> r~


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