diff options
author | David Majnemer <david.majnemer@gmail.com> | 2015-07-10 07:00:44 +0000 |
---|---|---|
committer | David Majnemer <david.majnemer@gmail.com> | 2015-07-10 07:00:44 +0000 |
commit | ae2ffc8a8c825acf46f58f20dc7d0ae5fecbdd0b (patch) | |
tree | bba694cd7ab6a7a5eb4aca757ebfc3b38b1e949d /llvm/include/llvm-c | |
parent | 83505347724a3eeb42f66a0b58fb8ff5c4c9ea4c (diff) | |
download | bcm5719-llvm-ae2ffc8a8c825acf46f58f20dc7d0ae5fecbdd0b.tar.gz bcm5719-llvm-ae2ffc8a8c825acf46f58f20dc7d0ae5fecbdd0b.zip |
New EH representation for MSVC compatibility
Summary:
This introduces new instructions neccessary to implement MSVC-compatible
exception handling support. Most of the middle-end and none of the
back-end haven't been audited or updated to take them into account.
Reviewers: rnk, JosephTremoulet, reames, nlewycky, rjmccall
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D11041
llvm-svn: 241888
Diffstat (limited to 'llvm/include/llvm-c')
-rw-r--r-- | llvm/include/llvm-c/Core.h | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/llvm/include/llvm-c/Core.h b/llvm/include/llvm-c/Core.h index 713894f5763..48ae289f966 100644 --- a/llvm/include/llvm-c/Core.h +++ b/llvm/include/llvm-c/Core.h @@ -248,7 +248,13 @@ typedef enum { /* Exception Handling Operators */ LLVMResume = 58, - LLVMLandingPad = 59 + LLVMLandingPad = 59, + LLVMCleanupRet = 61, + LLVMCatchRet = 62, + LLVMCatchBlock = 63, + LLVMTerminateBlock = 64, + LLVMCleanupBlock = 65, + LLVMCatchEndBlock = 66 } LLVMOpcode; @@ -1203,6 +1209,7 @@ LLVMTypeRef LLVMX86MMXType(void); macro(InsertElementInst) \ macro(InsertValueInst) \ macro(LandingPadInst) \ + macro(CleanupBlockInst) \ macro(PHINode) \ macro(SelectInst) \ macro(ShuffleVectorInst) \ @@ -1215,6 +1222,11 @@ LLVMTypeRef LLVMX86MMXType(void); macro(SwitchInst) \ macro(UnreachableInst) \ macro(ResumeInst) \ + macro(CleanupReturnInst) \ + macro(CatchReturnInst) \ + macro(CatchBlockInst) \ + macro(TerminateBlockInst) \ + macro(CatchEndBlockInst) \ macro(UnaryInstruction) \ macro(AllocaInst) \ macro(CastInst) \ |