[LLVMdev] unwinds to in the CFG
Duncan Sands
baldrick at free.fr
Fri Mar 28 02:10:04 PDT 2008
Hi Nick,
> 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.
how about just declaring this illegal? i.e. require the first call
to be in a different basic block to the second, making it possible
to use a phi node in %cleanup.
Ciao,
Duncan.
More information about the llvm-dev
mailing list