Previously this pass would assume that it was running over the
entire program. This meant it could get away with creating the
two helper functions:
- setThrew
- setTempRet0
Instead we now assume these will be provided at link time. In
emscripten this will most likely be done via libcxxabi.
Additionally we previously created three global variable:
- THREW
- _threwValue
- __tempRet0
These are now allow assumed to be available at link time, but
we also have to handle the case where they exist in the module
being compiled (e.g. when we are doing LTO with libcxxabi).