[LLVMdev] unwinds to in the CFG

Devang Patel
Fri, 28 Mar 2008 16:37:18 -0000

On Mar 27, 2008, at 11:15 PM, Nick Lewycky wrote:

> I have a new plan for handling 'unwinds to' in the control flow
graph
> and dominance.
>
> Just as a quick recap the problem I encountered is how to deal
> instructions in a block being used as operands in the unwind dest.
> Such
> as this:
>
> bb1: unwinds to %cleanup
>   call void @foo() ; might throw, might not
>   %x = add i32 %y, %z
>   call void @foo() ; might throw, might not
>   ret void
> cleanup:
>   call void @use(i32 %x)
>
> The problem is that %x might not have been executed before we enter
> %cleanup.

This means bb1 has multiple exit points, which defeats the "single
entry, single exit" idea. Did I miss anything here ?

-
Devang