[LLVMdev] invoke and unwind

Chris Lattner sabre at nondot.org
Wed Nov 15 13:07:01 PST 2006


On Wed, 15 Nov 2006, Ryan M. Lefever wrote:
> If an unwind instruction is called, is the does it define a return value
> for the corresponding invoke instruction?  In other words, when we get
> to the exception label, will the value returned by the invoke
> instruction be defined?  If so, how is it defined?

No it doesn't.  The return value of the invoke is only live in the normal 
dest, not in the unwind dest.  You can consider the invoke result to 
dominate the normal dest but not the unwind dest.

To communicate from an exception handler to the catch use a global 
variable or thread-local storage.  This is what the C++ runtime does.

-Chris

-- 
http://nondot.org/sabre/
http://llvm.org/



More information about the llvm-dev mailing list