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

Chris Lattner clattner at apple.com
Fri Jul 29 10:35:41 PDT 2011


On Jul 28, 2011, at 1:10 PM, Bill Wendling wrote:

> 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.

Yep, this is fine to me.  LLVM 3.0 is the right time to change the C API.

-Chris

> 
> 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)));
> }
> 
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits




More information about the llvm-commits mailing list