package llvm
The OCaml bindings distributed with LLVM
Install
Dune Dependency
Authors
Maintainers
Sources
llvm-dune-full-minified-15.0.7+nnp-3.tar.gz
md5=c81299338fdd29961ec659f0239e6d8c
sha512=186c8b9f2b5ed61150214b7e8046f08f66bfbcad3af3dc946c4840ff57ca9fcbc0f15c32f8b062b9cc331bdb02a8315afaad6d3810a3b56d7348db2fd376699a
doc/src/llvm_target_static/llvm_target.ml.html
Source file llvm_target.ml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135
(*===-- llvm_target.ml - LLVM OCaml Interface ------------------*- OCaml -*-===* * * Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. * See https://llvm.org/LICENSE.txt for license information. * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception * *===----------------------------------------------------------------------===*) module Endian = struct type t = | Big | Little end module CodeGenOptLevel = struct type t = | None | Less | Default | Aggressive end module RelocMode = struct type t = | Default | Static | PIC | DynamicNoPIC end module CodeModel = struct type t = | Default | JITDefault | Small | Kernel | Medium | Large end module CodeGenFileType = struct type t = | AssemblyFile | ObjectFile end exception Error of string let () = Callback.register_exception "Llvm_target.Error" (Error "") module DataLayout = struct type t external of_string : string -> t = "llvm_datalayout_of_string" external as_string : t -> string = "llvm_datalayout_as_string" external byte_order : t -> Endian.t = "llvm_datalayout_byte_order" external pointer_size : t -> int = "llvm_datalayout_pointer_size" external intptr_type : Llvm.llcontext -> t -> Llvm.lltype = "llvm_datalayout_intptr_type" external qualified_pointer_size : int -> t -> int = "llvm_datalayout_qualified_pointer_size" external qualified_intptr_type : Llvm.llcontext -> int -> t -> Llvm.lltype = "llvm_datalayout_qualified_intptr_type" external size_in_bits : Llvm.lltype -> t -> Int64.t = "llvm_datalayout_size_in_bits" external store_size : Llvm.lltype -> t -> Int64.t = "llvm_datalayout_store_size" external abi_size : Llvm.lltype -> t -> Int64.t = "llvm_datalayout_abi_size" external abi_align : Llvm.lltype -> t -> int = "llvm_datalayout_abi_align" external stack_align : Llvm.lltype -> t -> int = "llvm_datalayout_stack_align" external preferred_align : Llvm.lltype -> t -> int = "llvm_datalayout_preferred_align" external preferred_align_of_global : Llvm.llvalue -> t -> int = "llvm_datalayout_preferred_align_of_global" external element_at_offset : Llvm.lltype -> Int64.t -> t -> int = "llvm_datalayout_element_at_offset" external offset_of_element : Llvm.lltype -> int -> t -> Int64.t = "llvm_datalayout_offset_of_element" end module Target = struct type t external default_triple : unit -> string = "llvm_target_default_triple" external first : unit -> t option = "llvm_target_first" external succ : t -> t option = "llvm_target_succ" external by_name : string -> t option = "llvm_target_by_name" external by_triple : string -> t = "llvm_target_by_triple" external name : t -> string = "llvm_target_name" external description : t -> string = "llvm_target_description" external has_jit : t -> bool = "llvm_target_has_jit" external has_target_machine : t -> bool = "llvm_target_has_target_machine" external has_asm_backend : t -> bool = "llvm_target_has_asm_backend" let all () = let rec step elem lst = match elem with | Some target -> step (succ target) (target :: lst) | None -> lst in step (first ()) [] end module TargetMachine = struct type t external create : triple:string -> ?cpu:string -> ?features:string -> ?level:CodeGenOptLevel.t -> ?reloc_mode:RelocMode.t -> ?code_model:CodeModel.t -> Target.t -> t = "llvm_create_targetmachine_bytecode" "llvm_create_targetmachine_native" external target : t -> Target.t = "llvm_targetmachine_target" external triple : t -> string = "llvm_targetmachine_triple" external cpu : t -> string = "llvm_targetmachine_cpu" external features : t -> string = "llvm_targetmachine_features" external data_layout : t -> DataLayout.t = "llvm_targetmachine_data_layout" external add_analysis_passes : [< Llvm.PassManager.any ] Llvm.PassManager.t -> t -> unit = "llvm_targetmachine_add_analysis_passes" external set_verbose_asm : bool -> t -> unit = "llvm_targetmachine_set_verbose_asm" external emit_to_file : Llvm.llmodule -> CodeGenFileType.t -> string -> t -> unit = "llvm_targetmachine_emit_to_file" external emit_to_memory_buffer : Llvm.llmodule -> CodeGenFileType.t -> t -> Llvm.llmemorybuffer = "llvm_targetmachine_emit_to_memory_buffer" end
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>