[llvm-commits] [Patch] Removal of Unwind from C-API

Bill Wendling wendling at apple.com
Thu Jul 28 13:10:20 PDT 2011


The new Exception Handling rewrite will be getting rid of the Unwind instruction. The first step in that is to remove it from our API. I wanted to check first to see if it's okay to do this. See the patch below. I will also remove it from the LangRef.html document. The only "client" that creates an UnwindInst is in the LLVM libraries themselves. Neither clang nor llvm-gcc creates them.

Okay?

-bw

Index: include/llvm-c/Core.h
===================================================================
--- include/llvm-c/Core.h	(revision 136325)
+++ include/llvm-c/Core.h	(working copy)
@@ -125,7 +125,7 @@
   LLVMSwitch         = 3,
   LLVMIndirectBr     = 4,
   LLVMInvoke         = 5,
-  LLVMUnwind         = 6,
+  /* Skipping 6 */
   LLVMUnreachable    = 7,
 
   /* Standard Binary Operators */
@@ -484,7 +484,6 @@
         macro(ReturnInst)                   \
         macro(SwitchInst)                   \
         macro(UnreachableInst)              \
-        macro(UnwindInst)                   \
         macro(ResumeInst)                   \
     macro(UnaryInstruction)                 \
       macro(AllocaInst)                     \
@@ -833,7 +832,6 @@
                              LLVMValueRef *Args, unsigned NumArgs,
                              LLVMBasicBlockRef Then, LLVMBasicBlockRef Catch,
                              const char *Name);
-LLVMValueRef LLVMBuildUnwind(LLVMBuilderRef);
 LLVMValueRef LLVMBuildResume(LLVMBuilderRef B, LLVMValueRef Exn);
 LLVMValueRef LLVMBuildUnreachable(LLVMBuilderRef);
 
Index: lib/VMCore/Core.cpp
===================================================================
--- lib/VMCore/Core.cpp	(revision 136326)
+++ lib/VMCore/Core.cpp	(working copy)
@@ -1690,10 +1690,6 @@
                                           NumClauses, Name));
 }
 
-LLVMValueRef LLVMBuildUnwind(LLVMBuilderRef B) {
-  return wrap(unwrap(B)->CreateUnwind());
-}
-
 LLVMValueRef LLVMBuildResume(LLVMBuilderRef B, LLVMValueRef Exn) {
   return wrap(unwrap(B)->CreateResume(unwrap(Exn)));
 }




More information about the llvm-commits mailing list