invoke and unwind

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.