PR2731: C and Ocaml bindings for setTailCall and isTailCall.
[oota-llvm.git] / bindings / ocaml / llvm / llvm.ml
index 67bb2322a58734583ac94bd9b1f6f82c51d0ca8a..18e14173936dd59cf12d9f7c84d66e17b7afe6e5 100644 (file)
@@ -366,8 +366,8 @@ 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
                                 = "llvm_set_function_call_conv"
 external function_call_conv : llvalue -> int = "llvm_function_call_conv"
 external set_function_call_conv : int -> llvalue -> unit
                                 = "llvm_set_function_call_conv"
-external collector : llvalue -> string option = "llvm_collector"
-external set_collector : string option -> llvalue -> unit = "llvm_set_collector"
+external gc : llvalue -> string option = "llvm_gc"
+external set_gc : string option -> llvalue -> unit = "llvm_set_gc"
 external function_begin : llmodule -> (llmodule, llvalue) llpos
                         = "llvm_function_begin"
 external function_succ : llvalue -> (llmodule, llvalue) llpos
 external function_begin : llmodule -> (llmodule, llvalue) llpos
                         = "llvm_function_begin"
 external function_succ : llvalue -> (llmodule, llvalue) llpos
@@ -586,6 +586,10 @@ external instruction_call_conv: llvalue -> int
 external set_instruction_call_conv: int -> llvalue -> unit
                                   = "llvm_set_instruction_call_conv"
 
 external set_instruction_call_conv: int -> llvalue -> unit
                                   = "llvm_set_instruction_call_conv"
 
+(*--... Operations on call instructions (only) .............................--*)
+external is_tail_call : llvalue -> bool = "llvm_is_tail_call"
+external set_tail_call : bool -> llvalue -> unit = "llvm_set_tail_call"
+
 (*--... Operations on phi nodes ............................................--*)
 external add_incoming : (llvalue * llbasicblock) -> llvalue -> unit
                       = "llvm_add_incoming"
 (*--... Operations on phi nodes ............................................--*)
 external add_incoming : (llvalue * llbasicblock) -> llvalue -> unit
                       = "llvm_add_incoming"