external build_invoke : llvalue -> llvalue array -> llbasicblock ->
llbasicblock -> string -> llbuilder -> llvalue
= "llvm_build_invoke_bc" "llvm_build_invoke_nat"
-external build_unwind : llbuilder -> llvalue = "llvm_build_unwind"
external build_unreachable : llbuilder -> llvalue = "llvm_build_unreachable"
(*--... Arithmetic .........................................................--*)
llbasicblock -> string -> llbuilder -> llvalue
-(** [build_unwind b] creates an
- [unwind]
- instruction at the position specified by the instruction builder [b].
- See the method [llvm::LLVMBuilder::CreateUnwind]. *)
-val build_unwind : llbuilder -> llvalue
-
(** [build_unreachable b] creates an
[unreachable]
instruction at the position specified by the instruction builder [b].
Args[4], Args[5]);
}
-/* llbuilder -> llvalue */
-CAMLprim LLVMValueRef llvm_build_unwind(value B) {
- return LLVMBuildUnwind(Builder_val(B));
-}
-
/* llbuilder -> llvalue */
CAMLprim LLVMValueRef llvm_build_unreachable(value B) {
return LLVMBuildUnreachable(Builder_val(B));
ignore (build_invoke fn [| p1; p2 |] bb04 bb00 "build_invoke" b)
end;
- group "unwind"; begin
- (* RUN: grep {unwind} < %t.ll
- *)
- let bb05 = append_block context "Bb05" fn in
- let b = builder_at_end context bb05 in
- ignore (build_unwind b)
- end;
-
group "unreachable"; begin
(* RUN: grep {unreachable} < %t.ll
*)