X-Git-Url: http://plrg.eecs.uci.edu/git/?p=oota-llvm.git;a=blobdiff_plain;f=include%2Fllvm%2FAnalysis%2FLibCallSemantics.h;h=14ecb55f340b5a0b5d64db2534b7d69ede87e9d4;hp=a23dc08feb79220ce5c7563de07f20d5848eea7f;hb=8136c73a751eba041521ab451d0c87ebc57a3608;hpb=399df148777c6579863ebededd36f751c8f2b78d diff --git a/include/llvm/Analysis/LibCallSemantics.h b/include/llvm/Analysis/LibCallSemantics.h index a23dc08feb7..14ecb55f340 100644 --- a/include/llvm/Analysis/LibCallSemantics.h +++ b/include/llvm/Analysis/LibCallSemantics.h @@ -29,6 +29,7 @@ class InvokeInst; MSVC_X86SEH, MSVC_Win64SEH, MSVC_CXX, + CoreCLR }; /// \brief See if the given exception handling personality function is one @@ -50,14 +51,14 @@ class InvokeInst; llvm_unreachable("invalid enum"); } - /// \brief Returns true if this is an MSVC personality function. - inline bool isMSVCEHPersonality(EHPersonality Pers) { - // The two SEH personality functions can catch asynch exceptions. We assume - // unknown personalities don't catch asynch exceptions. + /// \brief Returns true if this is a personality function that invokes + /// handler funclets (which must return to it). + inline bool isFuncletEHPersonality(EHPersonality Pers) { switch (Pers) { case EHPersonality::MSVC_CXX: case EHPersonality::MSVC_X86SEH: case EHPersonality::MSVC_Win64SEH: + case EHPersonality::CoreCLR: return true; default: return false; }