[LLVMdev] callinst vs. invokeinst

Reid Spencer rspencer at reidspencer.com
Mon Oct 30 17:48:55 PST 2006

On Mon, 2006-10-30 at 19:24 -0600, Ryan M. Lefever wrote:
> What is the difference between a CallInst and an InvokeInst in LLVM?  Is 
> an InvokeInst a CallInst that can throw an exception?

Sort off. The return destination of a CallInst is implied .. the next
instruction. The return destination of an InvokeInst is explicit and
there are two of them: normal case and exceptional case. If the unwind
instruction is executed (during the call) it causes a stack unwind and
branch to the exceptional case. Normal returns (without unwind
instruction) return to the normal case.

The intention is for exception handling.


> Thanks,
> Ryan
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev

More information about the llvm-dev mailing list