mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2025-01-31 12:41:49 +01:00
Remove malloc and free from the ocaml bindings.
llvm-svn: 97367
This commit is contained in:
parent
6d8360b3d8
commit
5baff36f22
@ -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
|
||||
|
@ -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].
|
||||
@ -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].
|
||||
|
@ -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) {
|
||||
@ -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) {
|
||||
|
@ -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)
|
||||
|
Loading…
x
Reference in New Issue
Block a user