Skip to content

Commit

Permalink
Remove malloc and free from the ocaml bindings.
Browse files Browse the repository at this point in the history
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97367 91177308-0d34-0410-b5e6-96231b3b80d8
  • Loading branch information
Erick Tryzelaar committed Feb 28, 2010
1 parent b29d7d2 commit d2b4aff
Show file tree
Hide file tree
Showing 4 changed files with 3 additions and 51 deletions.
5 changes: 0 additions & 5 deletions bindings/ocaml/llvm/llvm.ml
Original file line number Diff line number Diff line change
Expand Up @@ -745,15 +745,10 @@ external build_not : llvalue -> string -> llbuilder -> llvalue
= "llvm_build_not"

(*--... Memory .............................................................--*)
external build_malloc : lltype -> string -> llbuilder -> llvalue
= "llvm_build_malloc"
external build_array_malloc : lltype -> llvalue -> string -> llbuilder ->
llvalue = "llvm_build_array_malloc"
external build_alloca : lltype -> string -> llbuilder -> llvalue
= "llvm_build_alloca"
external build_array_alloca : lltype -> llvalue -> string -> llbuilder ->
llvalue = "llvm_build_array_alloca"
external build_free : llvalue -> llbuilder -> llvalue = "llvm_build_free"
external build_load : llvalue -> string -> llbuilder -> llvalue
= "llvm_build_load"
external build_store : llvalue -> llvalue -> llbuilder -> llvalue
Expand Down
20 changes: 0 additions & 20 deletions bindings/ocaml/llvm/llvm.mli
Original file line number Diff line number Diff line change
Expand Up @@ -1628,20 +1628,6 @@ external build_not : llvalue -> string -> llbuilder -> llvalue

(** {7 Memory} *)

(** [build_malloc ty name b] creates a
[%name = malloc %ty]
instruction at the position specified by the instruction builder [b].
See the method [llvm::LLVMBuilder::CreateAlloca]. *)
external build_malloc : lltype -> string -> llbuilder -> llvalue
= "llvm_build_malloc"

(** [build_array_malloc ty n name b] creates a
[%name = malloc %ty, %n]
instruction at the position specified by the instruction builder [b].
See the method [llvm::LLVMBuilder::CreateMalloc]. *)
external build_array_malloc : lltype -> llvalue -> string -> llbuilder ->
llvalue = "llvm_build_array_malloc"

(** [build_alloca ty name b] creates a
[%name = alloca %ty]
instruction at the position specified by the instruction builder [b].
Expand All @@ -1656,12 +1642,6 @@ external build_alloca : lltype -> string -> llbuilder -> llvalue
external build_array_alloca : lltype -> llvalue -> string -> llbuilder ->
llvalue = "llvm_build_array_alloca"

(** [build_free v b] creates a
[free %v]
instruction at the position specified by the instruction builder [b].
See the method [llvm::LLVMBuilder::CreateFree]. *)
external build_free : llvalue -> llbuilder -> llvalue = "llvm_build_free"

(** [build_load v name b] creates a
[%name = load %v]
instruction at the position specified by the instruction builder [b].
Expand Down
17 changes: 0 additions & 17 deletions bindings/ocaml/llvm/llvm_ocaml.c
Original file line number Diff line number Diff line change
Expand Up @@ -1203,18 +1203,6 @@ CAMLprim LLVMValueRef llvm_build_not(LLVMValueRef X,

/*--... Memory .............................................................--*/

/* lltype -> string -> llbuilder -> llvalue */
CAMLprim LLVMValueRef llvm_build_malloc(LLVMTypeRef Ty,
value Name, value B) {
return LLVMBuildMalloc(Builder_val(B), Ty, String_val(Name));
}

/* lltype -> llvalue -> string -> llbuilder -> llvalue */
CAMLprim LLVMValueRef llvm_build_array_malloc(LLVMTypeRef Ty, LLVMValueRef Size,
value Name, value B) {
return LLVMBuildArrayMalloc(Builder_val(B), Ty, Size, String_val(Name));
}

/* lltype -> string -> llbuilder -> llvalue */
CAMLprim LLVMValueRef llvm_build_alloca(LLVMTypeRef Ty,
value Name, value B) {
Expand All @@ -1227,11 +1215,6 @@ CAMLprim LLVMValueRef llvm_build_array_alloca(LLVMTypeRef Ty, LLVMValueRef Size,
return LLVMBuildArrayAlloca(Builder_val(B), Ty, Size, String_val(Name));
}

/* llvalue -> llbuilder -> llvalue */
CAMLprim LLVMValueRef llvm_build_free(LLVMValueRef Pointer, value B) {
return LLVMBuildFree(Builder_val(B), Pointer);
}

/* llvalue -> string -> llbuilder -> llvalue */
CAMLprim LLVMValueRef llvm_build_load(LLVMValueRef Pointer,
value Name, value B) {
Expand Down
12 changes: 3 additions & 9 deletions test/Bindings/Ocaml/vmcore.ml
Original file line number Diff line number Diff line change
Expand Up @@ -937,21 +937,15 @@ let test_builder () =
let bb08 = append_block context "Bb08" fn in
let b = builder_at_end context bb08 in

(* RUN: grep {Inst20.*malloc} < %t.ll
* RUN: grep {Inst21.*malloc} < %t.ll
* RUN: grep {Inst22.*alloca.*i32 } < %t.ll
(* RUN: grep {Inst22.*alloca.*i32 } < %t.ll
* RUN: grep {Inst23.*alloca.*i32.*P2} < %t.ll
* RUN: grep {free.*Inst20} < %t.ll
* RUN: grep {Inst25.*load.*Inst21} < %t.ll
* RUN: grep {Inst25.*load.*Inst23} < %t.ll
* RUN: grep {store.*P2.*Inst22} < %t.ll
* RUN: grep {Inst27.*getelementptr.*Inst23.*P2} < %t.ll
*)
let inst20 = build_malloc i8_type "Inst20" b in
let inst21 = build_array_malloc i8_type p1 "Inst21" b in
let inst22 = build_alloca i32_type "Inst22" b in
let inst23 = build_array_alloca i32_type p2 "Inst23" b in
ignore(build_free inst20 b);
ignore(build_load inst21 "Inst25" b);
ignore(build_load inst23 "Inst25" b);
ignore(build_store p2 inst22 b);
ignore(build_gep inst23 [| p2 |] "Inst27" b);
ignore(build_unreachable b)
Expand Down

0 comments on commit d2b4aff

Please sign in to comment.