[llvm] r242372 - Revert "Update LLVM bindings after r239940. ..."
Rafael EspĂndola
rafael.espindola at gmail.com
Thu Jul 16 09:49:34 PDT 2015
This should probably go to 3.7.
On 15 July 2015 at 18:16, Reid Kleckner <reid at kleckner.net> wrote:
> Author: rnk
> Date: Wed Jul 15 20:16:39 2015
> New Revision: 242372
>
> URL: http://llvm.org/viewvc/llvm-project?rev=242372&view=rev
> Log:
> Revert "Update LLVM bindings after r239940. ..."
>
> Revert the changes to the C API LLVMBuildLandingPad that were part of
> the personality function move. We now set the personality on the parent
> function when the C API attempts to construct a landingpad with a
> personality.
>
> This reverts commit r240010.
>
> Modified:
> llvm/trunk/bindings/go/llvm/ir.go
> llvm/trunk/bindings/ocaml/llvm/llvm_ocaml.c
> llvm/trunk/include/llvm-c/Core.h
> llvm/trunk/lib/IR/Core.cpp
>
> Modified: llvm/trunk/bindings/go/llvm/ir.go
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/bindings/go/llvm/ir.go?rev=242372&r1=242371&r2=242372&view=diff
> ==============================================================================
> --- llvm/trunk/bindings/go/llvm/ir.go (original)
> +++ llvm/trunk/bindings/go/llvm/ir.go Wed Jul 15 20:16:39 2015
> @@ -1731,7 +1731,7 @@ func (b Builder) CreatePtrDiff(lhs, rhs
> func (b Builder) CreateLandingPad(t Type, nclauses int, name string) (l Value) {
> cname := C.CString(name)
> defer C.free(unsafe.Pointer(cname))
> - l.C = C.LLVMBuildLandingPad(b.C, t.C, C.unsigned(nclauses), cname)
> + l.C = C.LLVMBuildLandingPad(b.C, t.C, nil, C.unsigned(nclauses), cname)
> return l
> }
>
>
> Modified: llvm/trunk/bindings/ocaml/llvm/llvm_ocaml.c
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/bindings/ocaml/llvm/llvm_ocaml.c?rev=242372&r1=242371&r2=242372&view=diff
> ==============================================================================
> --- llvm/trunk/bindings/ocaml/llvm/llvm_ocaml.c (original)
> +++ llvm/trunk/bindings/ocaml/llvm/llvm_ocaml.c Wed Jul 15 20:16:39 2015
> @@ -1745,7 +1745,7 @@ CAMLprim LLVMValueRef llvm_build_invoke_
> CAMLprim LLVMValueRef llvm_build_landingpad(LLVMTypeRef Ty, LLVMValueRef PersFn,
> value NumClauses, value Name,
> value B) {
> - return LLVMBuildLandingPad(Builder_val(B), Ty, Int_val(NumClauses),
> + return LLVMBuildLandingPad(Builder_val(B), Ty, PersFn, Int_val(NumClauses),
> String_val(Name));
> }
>
>
> Modified: llvm/trunk/include/llvm-c/Core.h
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm-c/Core.h?rev=242372&r1=242371&r2=242372&view=diff
> ==============================================================================
> --- llvm/trunk/include/llvm-c/Core.h (original)
> +++ llvm/trunk/include/llvm-c/Core.h Wed Jul 15 20:16:39 2015
> @@ -2675,7 +2675,8 @@ LLVMValueRef LLVMBuildInvoke(LLVMBuilder
> LLVMBasicBlockRef Then, LLVMBasicBlockRef Catch,
> const char *Name);
> LLVMValueRef LLVMBuildLandingPad(LLVMBuilderRef B, LLVMTypeRef Ty,
> - unsigned NumClauses, const char *Name);
> + LLVMValueRef PersFn, unsigned NumClauses,
> + const char *Name);
> LLVMValueRef LLVMBuildResume(LLVMBuilderRef B, LLVMValueRef Exn);
> LLVMValueRef LLVMBuildUnreachable(LLVMBuilderRef);
>
>
> Modified: llvm/trunk/lib/IR/Core.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/IR/Core.cpp?rev=242372&r1=242371&r2=242372&view=diff
> ==============================================================================
> --- llvm/trunk/lib/IR/Core.cpp (original)
> +++ llvm/trunk/lib/IR/Core.cpp Wed Jul 15 20:16:39 2015
> @@ -2257,7 +2257,14 @@ LLVMValueRef LLVMBuildInvoke(LLVMBuilder
> }
>
> LLVMValueRef LLVMBuildLandingPad(LLVMBuilderRef B, LLVMTypeRef Ty,
> - unsigned NumClauses, const char *Name) {
> + LLVMValueRef PersFn, unsigned NumClauses,
> + const char *Name) {
> + // The personality used to live on the landingpad instruction, but now it
> + // lives on the parent function. For compatibility, take the provided
> + // personality and put it on the parent function.
> + if (PersFn)
> + unwrap(B)->GetInsertBlock()->getParent()->setPersonalityFn(
> + cast<Function>(unwrap(PersFn)));
> return wrap(unwrap(B)->CreateLandingPad(unwrap(Ty), NumClauses, Name));
> }
>
>
>
> _______________________________________________
> 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