[llvm] r242104 - Add capability to get and set the personalitty function from the C API

Duncan P. N. Exon Smith dexonsmith at apple.com
Thu Jul 16 15:10:39 PDT 2015


> On 2015-Jul-13, at 18:23, Andrew Wilkins <axwalk at gmail.com> wrote:
> 
> Author: axw
> Date: Mon Jul 13 20:23:06 2015
> New Revision: 242104
> 
> URL: http://llvm.org/viewvc/llvm-project?rev=242104&view=rev
> Log:
> Add capability to get and set the personalitty function from the C API
> 
> Summary:
> The capability was lost with D10429

If that corresponds to an SVN commit (maybe it doesn't?), it's really
much better to reference that.  I don't have a great way of looking up
what D10429 means.  SVN revisions are the canonical way of referencing
commits.

> where the personality function was set at function level rather than landing pad level. Now there is no way to get/set the personality function from the C API. That is a problem.
> 
> Note that the whole thing could be avoided by improving the C API testing, as started by D10725
> 
> Reviewers: chandlerc, bogner, majnemer, andrew.w.kaylor, rafael, rnk, axw
> 
> Subscribers: rafael, llvm-commits
> 
> Differential Revision: http://reviews.llvm.org/D10946
> 
> Modified:
>    llvm/trunk/include/llvm-c/Core.h
>    llvm/trunk/lib/IR/Core.cpp
> 
> Modified: llvm/trunk/include/llvm-c/Core.h
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm-c/Core.h?rev=242104&r1=242103&r2=242104&view=diff
> ==============================================================================
> --- llvm/trunk/include/llvm-c/Core.h (original)
> +++ llvm/trunk/include/llvm-c/Core.h Mon Jul 13 20:23:06 2015
> @@ -1888,6 +1888,20 @@ LLVMValueRef LLVMAddAlias(LLVMModuleRef
> void LLVMDeleteFunction(LLVMValueRef Fn);
> 
> /**
> + * Obtain the personality function attached to the function.
> + *
> + * @see llvm::Function::getPersonalityFn()
> + */
> +LLVMValueRef LLVMGetPersonalityFn(LLVMValueRef Fn);
> +
> +/**
> + * Set the personality function attached to the function.
> + *
> + * @see llvm::Function::setPersonalityFn()
> + */
> +void LLVMSetPersonalityFn(LLVMValueRef Fn, LLVMValueRef PersonalityFn);
> +
> +/**
>  * Obtain the ID number from a function instance.
>  *
>  * @see llvm::Function::getIntrinsicID()
> 
> Modified: llvm/trunk/lib/IR/Core.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/IR/Core.cpp?rev=242104&r1=242103&r2=242104&view=diff
> ==============================================================================
> --- llvm/trunk/lib/IR/Core.cpp (original)
> +++ llvm/trunk/lib/IR/Core.cpp Mon Jul 13 20:23:06 2015
> @@ -1691,6 +1691,14 @@ void LLVMDeleteFunction(LLVMValueRef Fn)
>   unwrap<Function>(Fn)->eraseFromParent();
> }
> 
> +LLVMValueRef LLVMGetPersonalityFn(LLVMValueRef Fn) {
> +  return wrap(unwrap<Function>(Fn)->getPersonalityFn());
> +}
> +
> +void LLVMSetPersonalityFn(LLVMValueRef Fn, LLVMValueRef PersonalityFn) {
> +  unwrap<Function>(Fn)->setPersonalityFn(unwrap<Constant>(PersonalityFn));
> +}
> +
> unsigned LLVMGetIntrinsicID(LLVMValueRef Fn) {
>   if (Function *F = dyn_cast<Function>(unwrap(Fn)))
>     return F->getIntrinsicID();
> 
> 
> _______________________________________________
> 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