diff options
| author | Bill Wendling <isanbard@gmail.com> | 2011-08-24 00:00:23 +0000 |
|---|---|---|
| committer | Bill Wendling <isanbard@gmail.com> | 2011-08-24 00:00:23 +0000 |
| commit | f4ee0c0db2530ad6122c0424a4d20cb5bc7f0726 (patch) | |
| tree | f1bb86a52c55e5078e6cf110030a9821540c1ca5 | |
| parent | f9e9c4e9bcdf6cb7e3c67c934d59b07054bedc6a (diff) | |
| download | bcm5719-llvm-f4ee0c0db2530ad6122c0424a4d20cb5bc7f0726.tar.gz bcm5719-llvm-f4ee0c0db2530ad6122c0424a4d20cb5bc7f0726.zip | |
Add the sentinal "no handle" value to the ResumeInst.
A value of -1 at a call site tells the personality function that this call isn't
handled by the current function. Since the ResumeInsts are converted to calls to
_Unwind_SjLj_Resume, add a (volatile) store of -1 to its 'call site'.
llvm-svn: 138416
| -rw-r--r-- | llvm/lib/CodeGen/SjLjEHPrepare.cpp | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/llvm/lib/CodeGen/SjLjEHPrepare.cpp b/llvm/lib/CodeGen/SjLjEHPrepare.cpp index be491b13834..ebed3d2b882 100644 --- a/llvm/lib/CodeGen/SjLjEHPrepare.cpp +++ b/llvm/lib/CodeGen/SjLjEHPrepare.cpp @@ -631,6 +631,8 @@ bool SjLjEHPass::insertSjLjEHSupport(Function &F) { if (Callee != SelectorFn && Callee != ExceptionFn && !CI->doesNotThrow()) insertCallSiteStore(CI, -1, CallSite); + } else if (ResumeInst *RI = dyn_cast<ResumeInst>(I)) { + insertCallSiteStore(RI, -1, CallSite); } } |

