[LLVMdev] Inlining and exception handling in LLVM and GCC

Renato Golin rengolin at systemcall.org
Wed Dec 8 11:07:07 PST 2010


On 8 December 2010 18:45, Devang Patel <dpatel at apple.com> wrote:
> I do not know EH or details of these proposals. But do not forget, basic blocks are merged/split/deleted, instructions are added/removed/moved/copied/replaced.

Indeed. Having the information in the invoke kinda alleviates this
problem, but removing the invoke syntax will bring that back.

One way to merge two basic blocks is to split into several smaller
basic blocks with same properties and then branch to and from that new
sub-block instead of actually moving the instructions inside the
merged block.

I don't know the effects of block fragmentation in LLVM, but that
would definitely increase it. But having EH info in every instruction
is also too much... :/

cheers,
--renato



More information about the llvm-dev mailing list