summaryrefslogtreecommitdiffstats
path: root/llvm/include/llvm-c/Core.h
diff options
context:
space:
mode:
authorJoseph Tremoulet <jotrem@microsoft.com>2015-09-03 09:09:43 +0000
committerJoseph Tremoulet <jotrem@microsoft.com>2015-09-03 09:09:43 +0000
commit9ce71f76b9497d3b50bc267b2ba9a92de48f13e2 (patch)
tree7323a60f5c30c9b8e7ffde38dfb29d19b0de19c5 /llvm/include/llvm-c/Core.h
parent0dcd8bcf2407caa5c6a9705c8b7d0cdda4824dba (diff)
downloadbcm5719-llvm-9ce71f76b9497d3b50bc267b2ba9a92de48f13e2.tar.gz
bcm5719-llvm-9ce71f76b9497d3b50bc267b2ba9a92de48f13e2.zip
[WinEH] Add cleanupendpad instruction
Summary: Add a `cleanupendpad` instruction, used to mark exceptional exits out of cleanups (for languages/targets that can abort a cleanup with another exception). The `cleanupendpad` instruction is similar to the `catchendpad` instruction in that it is an EH pad which is the target of unwind edges in the handler and which itself has an unwind edge to the next EH action. The `cleanupendpad` instruction, similar to `cleanupret` has a `cleanuppad` argument indicating which cleanup it exits. The unwind successors of a `cleanuppad`'s `cleanupendpad`s must agree with each other and with its `cleanupret`s. Update WinEHPrepare (and docs/tests) to accomodate `cleanupendpad`. Reviewers: rnk, andrew.w.kaylor, majnemer Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D12433 llvm-svn: 246751
Diffstat (limited to 'llvm/include/llvm-c/Core.h')
-rw-r--r--llvm/include/llvm-c/Core.h10
1 files changed, 6 insertions, 4 deletions
diff --git a/llvm/include/llvm-c/Core.h b/llvm/include/llvm-c/Core.h
index 3bb8828fe84..14675854266 100644
--- a/llvm/include/llvm-c/Core.h
+++ b/llvm/include/llvm-c/Core.h
@@ -251,10 +251,11 @@ typedef enum {
LLVMLandingPad = 59,
LLVMCleanupRet = 61,
LLVMCatchRet = 62,
- LLVMCatchPad = 63,
- LLVMTerminatePad = 64,
- LLVMCleanupPad = 65,
- LLVMCatchEndPad = 66
+ LLVMCatchPad = 63,
+ LLVMTerminatePad = 64,
+ LLVMCleanupPad = 65,
+ LLVMCatchEndPad = 66,
+ LLVMCleanupEndPad = 67
} LLVMOpcode;
@@ -1228,6 +1229,7 @@ LLVMTypeRef LLVMX86MMXType(void);
macro(CatchPadInst) \
macro(TerminatePadInst) \
macro(CatchEndPadInst) \
+ macro(CleanupEndPadInst) \
macro(UnaryInstruction) \
macro(AllocaInst) \
macro(CastInst) \
OpenPOWER on IntegriCloud