diff options
author | Gordon Henriksen <gordonhenriksen@mac.com> | 2008-03-19 01:11:35 +0000 |
---|---|---|
committer | Gordon Henriksen <gordonhenriksen@mac.com> | 2008-03-19 01:11:35 +0000 |
commit | dc1ce7bdc6e32e7a4c4a110caa32834730183c1b (patch) | |
tree | 9844c6c709f7e226211ac1b0178257a29780f262 /bindings/ocaml/llvm/llvm.ml | |
parent | 94202018c51d662c793a77a5e8239f3a35e11e60 (diff) | |
download | llvm-dc1ce7bdc6e32e7a4c4a110caa32834730183c1b.tar.gz llvm-dc1ce7bdc6e32e7a4c4a110caa32834730183c1b.tar.bz2 llvm-dc1ce7bdc6e32e7a4c4a110caa32834730183c1b.tar.xz |
C and Objective Caml bindings for the various getParent methods of the IR.
Based on Erick Tryzelaar's patch.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48523 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'bindings/ocaml/llvm/llvm.ml')
-rw-r--r-- | bindings/ocaml/llvm/llvm.ml | 22 |
1 files changed, 15 insertions, 7 deletions
diff --git a/bindings/ocaml/llvm/llvm.ml b/bindings/ocaml/llvm/llvm.ml index dfa772be0a..ac05a4dc65 100644 --- a/bindings/ocaml/llvm/llvm.ml +++ b/bindings/ocaml/llvm/llvm.ml @@ -270,6 +270,7 @@ external const_shufflevector : llvalue -> llvalue -> llvalue -> llvalue = "LLVMConstShuffleVector" (*--... Operations on global variables, functions, and aliases (globals) ...--*) +external global_parent : llvalue -> llmodule = "LLVMGetGlobalParent" external is_declaration : llvalue -> bool = "llvm_is_declaration" external linkage : llvalue -> Linkage.t = "llvm_linkage" external set_linkage : Linkage.t -> llvalue -> unit = "llvm_set_linkage" @@ -306,8 +307,6 @@ external define_function : string -> lltype -> llmodule -> llvalue external lookup_function : string -> llmodule -> llvalue option = "llvm_lookup_function" external delete_function : llvalue -> unit = "llvm_delete_function" -external params : llvalue -> llvalue array = "llvm_params" -external param : llvalue -> int -> llvalue = "llvm_param" external is_intrinsic : llvalue -> bool = "llvm_is_intrinsic" external function_call_conv : llvalue -> int = "llvm_function_call_conv" external set_function_call_conv : int -> llvalue -> unit @@ -317,16 +316,25 @@ external set_collector : string option -> llvalue -> unit = "llvm_set_collector" (* TODO: param attrs *) +(*--... Operations on params ...............................................--*) +external params : llvalue -> llvalue array = "llvm_params" +external param : llvalue -> int -> llvalue = "llvm_param" +external param_parent : llvalue -> llvalue = "LLVMGetParamParent" + (*--... Operations on basic blocks .........................................--*) +external value_of_block : llbasicblock -> llvalue = "LLVMBasicBlockAsValue" +external value_is_block : llvalue -> bool = "llvm_value_is_block" +external block_of_value : llvalue -> llbasicblock = "LLVMValueAsBasicBlock" +external block_parent : llbasicblock -> llvalue = "LLVMGetBasicBlockParent" external basic_blocks : llvalue -> llbasicblock array = "llvm_basic_blocks" external entry_block : llvalue -> llbasicblock = "LLVMGetEntryBasicBlock" external delete_block : llbasicblock -> unit = "llvm_delete_block" external append_block : string -> llvalue -> llbasicblock = "llvm_append_block" external insert_block : string -> llbasicblock -> llbasicblock = "llvm_insert_block" -external value_of_block : llbasicblock -> llvalue = "LLVMBasicBlockAsValue" -external value_is_block : llvalue -> bool = "llvm_value_is_block" -external block_of_value : llvalue -> llbasicblock = "LLVMValueAsBasicBlock" + +(*--... Operations on instructions .........................................--*) +external instr_parent : llvalue -> llbasicblock = "LLVMGetInstructionParent" (*--... Operations on call sites ...........................................--*) external instruction_call_conv: llvalue -> int @@ -341,13 +349,13 @@ external incoming : llvalue -> (llvalue * llbasicblock) list = "llvm_incoming" (*===-- Instruction builders ----------------------------------------------===*) -external builder: unit-> llbuilder - = "llvm_builder" +external builder: unit-> llbuilder = "llvm_builder" external builder_before : llvalue -> llbuilder = "llvm_builder_before" external builder_at_end : llbasicblock -> llbuilder = "llvm_builder_at_end" external position_before : llvalue -> llbuilder -> unit = "llvm_position_before" external position_at_end : llbasicblock -> llbuilder -> unit = "llvm_position_at_end" +external insertion_block : llbuilder -> llbasicblock = "llvm_insertion_block" (*--... Terminators ........................................................--*) external build_ret_void : llbuilder -> llvalue = "llvm_build_ret_void" |