This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: make commit_edge_insertion ready to commit multiple entry prologues
- To: Richard Henderson <rth at redhat dot com>, Jan Hubicka <jh at suse dot cz>, patches at x86-64 dot org, gcc-patches at gcc dot gnu dot org
- Subject: Re: make commit_edge_insertion ready to commit multiple entry prologues
- From: Jan Hubicka <jh at suse dot cz>
- Date: Sat, 24 Feb 2001 01:25:51 +0100
- References: <20010222162417.F18345@atrey.karlin.mff.cuni.cz> <20010222102101.D2412@redhat.com>
>
> > + 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~