# Index of values

A
abi_align [Llvm_target.DataLayout] | Computes the ABI alignment of a type in bytes for a target.
abi_size [Llvm_target.DataLayout] | Computes the ABI size of a type in bytes for a target.
add_aggressive_dce [Llvm_scalar_opts] | See The `llvm::createAggressiveDCEPass` function.
add_alias [Llvm] | `add_alias m t a n` inserts an alias in the module `m` with the type `t` and the aliasee `a` with the name `n`.
add_always_inliner [Llvm_ipo] | See llvm::createAlwaysInlinerPass function.
add_argument_promotion [Llvm_ipo] | See llvm::createAddArgumentPromotionPass
add_basic_alias_analysis [Llvm_scalar_opts] | See the `llvm::createBasicAliasAnalysisPass` function.
add_bb_vectorize [Llvm_vectorize] | See the `llvm::createBBVectorizePass` function.
add_case [Llvm] | `add_case sw onval bb` causes switch instruction `sw` to branch to `bb` when its input matches the constant `onval`.
add_cfg_simplification [Llvm_scalar_opts] | See the `llvm::createCFGSimplificationPass` function.
add_clause [Llvm] | `add_clause lp clause` adds the clause to the `landingpad`instruction.
add_constant_merge [Llvm_ipo] | See llvm::createConstantMergePass function.
add_constant_propagation [Llvm_scalar_opts] | See the `llvm::createConstantPropogationPass` function.
add_correlated_value_propagation [Llvm_scalar_opts] | See the `llvm::createCorrelatedValuePropagationPass` function.
add_dead_arg_elimination [Llvm_ipo] | See llvm::createDeadArgEliminationPass function.
add_dead_store_elimination [Llvm_scalar_opts] | See `llvm::createDeadStoreEliminationPass` function.
add_destination [Llvm] | `add_destination br bb` adds the basic block `bb` as a possible branch location for the indirectbr instruction `br`.
add_early_cse [Llvm_scalar_opts] | See the `llvm::createEarlyCSE` function.
add_function_attr [Llvm] | `add_function_attr f a` adds attribute `a` to the return type of function `f`.
add_function_attrs [Llvm_ipo] | See llvm::createFunctionAttrsPass function.
add_function_inlining [Llvm_ipo] | See llvm::createFunctionInliningPass function.
add_global_dce [Llvm_ipo] | See llvm::createGlobalDCEPass function.
add_global_optimizer [Llvm_ipo] | See llvm::createGlobalOptimizerPass function.
add_gvn [Llvm_scalar_opts] | See the `llvm::createGVNPass` function.
add_incoming [Llvm] | `add_incoming (v, bb) pn` adds the value `v` to the phi node `pn` for use with branches from `bb`.
add_ind_var_simplification [Llvm_scalar_opts] | See the `llvm::createIndVarSimplifyPass` function.
add_instruction_combination [Llvm_scalar_opts] | See the `llvm::createInstructionCombiningPass` function.
add_instruction_param_attr [Llvm] | `add_instruction_param_attr ci i a` adds attribute `a` to the `i`th parameter of the call or invoke instruction `ci`.
add_internalize [Llvm_ipo] | See llvm::createInternalizePass function.
add_ipc_propagation [Llvm_ipo] | See llvm::createIPConstantPropagationPass function.
add_ipsccp [Llvm_ipo] | See llvm::createIPSCCPPass function.
add_jump_threading [Llvm_scalar_opts] | See the `llvm::createJumpThreadingPass` function.
add_lib_call_simplification [Llvm_scalar_opts] | See the `llvm::createSimplifyLibCallsPass` function.
add_licm [Llvm_scalar_opts] | See the `llvm::createLICMPass` function.
add_loop_deletion [Llvm_scalar_opts] | See the `llvm::createLoopDeletionPass` function.
add_loop_idiom [Llvm_scalar_opts] |
add_loop_rotation [Llvm_scalar_opts] | See the `llvm::createLoopRotatePass` function.
add_loop_unroll [Llvm_scalar_opts] | See the `llvm::createLoopUnrollPass` function.
add_loop_unswitch [Llvm_scalar_opts] | See the `llvm::createLoopUnswitchPass` function.
add_loop_vectorize [Llvm_vectorize] | See the `llvm::createLoopVectorizePass` function.
add_lower_expect_intrinsic [Llvm_scalar_opts] | See the `llvm::createLowerExpectIntrinsicPass` function.
add_memcpy_opt [Llvm_scalar_opts] | See the `llvm::createMemCpyOptPass` function.
add_memory_to_register_demotion [Llvm_scalar_opts] | See the `llvm::createDemoteMemoryToRegisterPass` function.
add_memory_to_register_promotion [Llvm_scalar_opts] | See the `llvm::createPromoteMemoryToRegisterPass` function.
add_module [Llvm_executionengine.ExecutionEngine] | `add_module m ee` adds the module `m` to the execution engine `ee`.
add_named_metadata_operand [Llvm] | `add_named_metadata_operand m name v` adds `v` as the last operand of metadata named `name` in module `m`.
add_param_attr [Llvm] | `add_param p a` adds attribute `a` to parameter `p`.
add_partially_inline_lib_calls [Llvm_scalar_opts] | See the `llvm::createPartiallyInlineLibCallsPass` function.
add_prune_eh [Llvm_ipo] | See llvm::createPruneEHPass function.
add_reassociation [Llvm_scalar_opts] | See the `llvm::createReassociatePass` function.
add_scalar_repl_aggregation [Llvm_scalar_opts] | See the `llvm::createScalarReplAggregatesPass` function.
add_scalar_repl_aggregation_ssa [Llvm_scalar_opts] | See the `llvm::createScalarReplAggregatesPassSSA` function.
add_scalar_repl_aggregation_with_threshold [Llvm_scalar_opts] | See the `llvm::createScalarReplAggregatesWithThreshold` function.
add_sccp [Llvm_scalar_opts] | See the `llvm::createSCCPPass` function.
add_slp_vectorize [Llvm_vectorize] | See `llvm::createSLPVectorizerPass` function.
add_strip_dead_prototypes [Llvm_ipo] | See llvm::createStripDeadPrototypesPass function.
add_strip_symbols [Llvm_ipo] | See llvm::createStripSymbolsPass function.
add_tail_call_elimination [Llvm_scalar_opts] | See the `llvm::createTailCallEliminationPass` function.
add_target_dependent_function_attr [Llvm] | `add_target_dependent_function_attr f a` adds target-dependent attribute `a` to function `f`.
add_to_pass_manager [Llvm_target.DataLayout] | `add_to_pass_manager dl pm` adds the target data `dl` to the pass manager `pm`.
add_type_based_alias_analysis [Llvm_scalar_opts] | See the `llvm::createTypeBasedAliasAnalysisPass` function.
add_verifier [Llvm_scalar_opts] | See the `llvm::createVerifierPass` function.
address_space [Llvm] | `address_space pty` returns the address space qualifier of the pointer type `pty`.
align_of [Llvm] | `align_of ty` returns the alignof constant for the type `ty`.
alignment [Llvm] | `alignment g` returns the required alignment of the global value `g`.
all [Llvm_target.Target] | `all ()` returns a list of known targets.
append_block [Llvm] | `append_block c name f` creates a new basic block named `name` at the end of function `f` in the context `c`.
array_length [Llvm] | `element_type aty` returns the element count of the array type `aty`.
array_type [Llvm] | `array_type ty n` returns the array type containing `n` elements of type `ty`.
as_float [Llvm_executionengine.GenericValue] | `as_float fpty gv` unboxes the floating point-valued generic value `gv` of floating point type `fpty`.
as_int [Llvm_executionengine.GenericValue] | `as_int gv` unboxes the integer-valued generic value `gv` as an `int`.
as_int32 [Llvm_executionengine.GenericValue] | `as_int32 gv` unboxes the integer-valued generic value `gv` as an `int32`.
as_int64 [Llvm_executionengine.GenericValue] | `as_int64 gv` returns the integer-valued generic value `gv` as an `int64`.
as_nativeint [Llvm_executionengine.GenericValue] | `as_natint gv` unboxes the integer-valued generic value `gv` as a `nativeint`.
as_pointer [Llvm_executionengine.GenericValue] | `as_pointer gv` unboxes the pointer-valued generic value `gv`.
as_string [Llvm_target.DataLayout] | `as_string dl` is the string representation of the data layout `dl`.
as_string [Llvm.MemoryBuffer] | `as_string mb` is the string containing the contents of memory buffer `mb`.
assert_valid_function [Llvm_analysis] | `verify_function f` returns if the function `f` is valid, but prints a validation report to `stderr` and aborts the program if it is invalid.
assert_valid_module [Llvm_analysis] | `verify_module m` returns if the module `m` is valid, but prints a validation report to `stderr` and aborts the program if it is invalid.
B
basic_blocks [Llvm] | `basic_blocks fn` returns the basic blocks of the function `f`.
block_address [Llvm] | `block_address f bb` returns the address of the basic block `bb` in the function `f`.
block_begin [Llvm] | `block_begin f` returns the first position in the basic block list of the function `f`.
block_end [Llvm] | `block_end f` returns the last position in the basic block list of the function `f`.
block_of_value [Llvm] | `block_of_value v` losslessly casts `v` to an `llbasicblock`.
block_parent [Llvm] | `block_parent bb` returns the parent function that owns the basic block.
block_pred [Llvm] | `block_pred bb` returns the basic block list position preceding `After bb`.
block_succ [Llvm] | `block_succ bb` returns the basic block list position succeeding `Before bb`.
block_terminator [Llvm] | `block_terminator bb` returns the terminator of the basic block `bb`.
build_add [Llvm] | `build_add x y name b` creates a `%name = add %x, %y` instruction at the position specified by the instruction builder `b`.
build_aggregate_ret [Llvm] | `build_aggregate_ret vs b` creates a `ret {...} { %v1, %v2, ... }` instruction at the position specified by the instruction builder `b`.
build_alloca [Llvm] | `build_alloca ty name b` creates a `%name = alloca %ty` instruction at the position specified by the instruction builder `b`.
build_and [Llvm] | `build_and x y name b` creates a `%name = and %x, %y` instruction at the position specified by the instruction builder `b`.
build_array_alloca [Llvm] | `build_array_alloca ty n name b` creates a `%name = alloca %ty, %n` instruction at the position specified by the instruction builder `b`.
build_array_malloc [Llvm] | `build_array_malloc ty val name b` creates an `array malloc` instruction at the position specified by the instruction builder `b`.
build_ashr [Llvm] | `build_ashr x y name b` creates a `%name = ashr %x, %y` instruction at the position specified by the instruction builder `b`.
build_atomicrmw [Llvm] | `build_atomicrmw op ptr val o st b` creates an `atomicrmw` instruction with operation `op` performed on pointer `ptr` and value `val` with ordering `o` and singlethread flag set to `st` at the position specified by the instruction builder `b`.
build_bitcast [Llvm] | `build_bitcast v ty name b` creates a `%name = bitcast %p to %ty` instruction at the position specified by the instruction builder `b`.
build_br [Llvm] | `build_br bb b` creates a `br %bb` instruction at the position specified by the instruction builder `b`.
build_call [Llvm] | `build_call fn args name b` creates a `%name = call %fn(args...)` instruction at the position specified by the instruction builder `b`.
build_cond_br [Llvm] | `build_cond_br cond tbb fbb b` creates a `br %cond, %tbb, %fbb` instruction at the position specified by the instruction builder `b`.
build_exact_sdiv [Llvm] | `build_exact_sdiv x y name b` creates a `%name = exact sdiv %x, %y` instruction at the position specified by the instruction builder `b`.
build_extractelement [Llvm] | `build_extractelement vec i name b` creates a `%name = extractelement %vec, %i` instruction at the position specified by the instruction builder `b`.
build_extractvalue [Llvm] | `build_insertvalue agg idx name b` creates a `%name = extractvalue %agg, %idx` instruction at the position specified by the instruction builder `b`.
build_fadd [Llvm] | `build_fadd x y name b` creates a `%name = fadd %x, %y` instruction at the position specified by the instruction builder `b`.
build_fcmp [Llvm] | `build_fcmp pred x y name b` creates a `%name = fcmp %pred %x, %y` instruction at the position specified by the instruction builder `b`.
build_fdiv [Llvm] | `build_fdiv x y name b` creates a `%name = fdiv %x, %y` instruction at the position specified by the instruction builder `b`.
build_fmul [Llvm] | `build_fmul x y name b` creates a `%name = fmul %x, %y` instruction at the position specified by the instruction builder `b`.
build_fneg [Llvm] | `build_fneg x name b` creates a `%name = fsub 0, %x` instruction at the position specified by the instruction builder `b`.
build_fpcast [Llvm] | `build_fpcast v ty name b` creates a fpext, bitcast, or fptrunc instruction at the position specified by the instruction builder `b`.
build_fpext [Llvm] | `build_fpext v ty name b` creates a `%name = fpext %p to %ty` instruction at the position specified by the instruction builder `b`.
build_fptosi [Llvm] | `build_fptosi v ty name b` creates a `%name = fptosi %p to %ty` instruction at the position specified by the instruction builder `b`.
build_fptoui [Llvm] | `build_fptoui v ty name b` creates a `%name = fptoui %p to %ty` instruction at the position specified by the instruction builder `b`.
build_fptrunc [Llvm] | `build_fptrunc v ty name b` creates a `%name = fptrunc %p to %ty` instruction at the position specified by the instruction builder `b`.
build_free [Llvm] | `build_free p b` creates a `free` instruction at the position specified by the instruction builder `b`.
build_frem [Llvm] | `build_frem x y name b` creates a `%name = frem %x, %y` instruction at the position specified by the instruction builder `b`.
build_fsub [Llvm] | `build_fsub x y name b` creates a `%name = fsub %x, %y` instruction at the position specified by the instruction builder `b`.
build_gep [Llvm] | `build_gep p indices name b` creates a `%name = getelementptr %p, indices...` instruction at the position specified by the instruction builder `b`.
build_global_string [Llvm] | `build_global_string str name b` creates a series of instructions that adds a global string at the position specified by the instruction builder `b`.
build_global_stringptr [Llvm] | `build_global_stringptr str name b` creates a series of instructions that adds a global string pointer at the position specified by the instruction builder `b`.
build_icmp [Llvm] | `build_icmp pred x y name b` creates a `%name = icmp %pred %x, %y` instruction at the position specified by the instruction builder `b`.
build_in_bounds_gep [Llvm] | `build_in_bounds_gep p indices name b` creates a `%name = gelementptr inbounds %p, indices...` instruction at the position specified by the instruction builder `b`.
build_indirect_br [Llvm] | `build_indirect_br addr count b` creates a `indirectbr %addr` instruction at the position specified by the instruction builder `b` with space reserved for `count` destinations.
build_insertelement [Llvm] | `build_insertelement vec elt i name b` creates a `%name = insertelement %vec, %elt, %i` instruction at the position specified by the instruction builder `b`.
build_insertvalue [Llvm] | `build_insertvalue agg val idx name b` creates a `%name = insertvalue %agg, %val, %idx` instruction at the position specified by the instruction builder `b`.
build_intcast [Llvm] | `build_intcast v ty name b` creates a zext, bitcast, or trunc instruction at the position specified by the instruction builder `b`.
build_inttoptr [Llvm] | `build_inttoptr v ty name b` creates a `%name = inttoptr %p to %ty` instruction at the position specified by the instruction builder `b`.
build_invoke [Llvm] | `build_invoke fn args tobb unwindbb name b` creates an `%name = invoke %fn(args) to %tobb unwind %unwindbb` instruction at the position specified by the instruction builder `b`.
build_is_not_null [Llvm] | `build_is_not_null val name b` creates a `%name = icmp ne %val, null` instruction at the position specified by the instruction builder `b`.
build_is_null [Llvm] | `build_is_null val name b` creates a `%name = icmp eq %val, null` instruction at the position specified by the instruction builder `b`.
build_landingpad [Llvm] | `build_landingpad ty persfn numclauses name b` creates an `landingpad` instruction at the position specified by the instruction builder `b`.
build_load [Llvm] | `build_load v name b` creates a `%name = load %v` instruction at the position specified by the instruction builder `b`.
build_lshr [Llvm] | `build_lshr x y name b` creates a `%name = lshr %x, %y` instruction at the position specified by the instruction builder `b`.
build_malloc [Llvm] | `build_malloc ty name b` creates an `malloc` instruction at the position specified by the instruction builder `b`.
build_mul [Llvm] | `build_mul x y name b` creates a `%name = mul %x, %y` instruction at the position specified by the instruction builder `b`.
build_neg [Llvm] | `build_neg x name b` creates a `%name = sub 0, %x` instruction at the position specified by the instruction builder `b`.
build_not [Llvm] | `build_xor x name b` creates a `%name = xor %x, -1` instruction at the position specified by the instruction builder `b`.
build_nsw_add [Llvm] | `build_nsw_add x y name b` creates a `%name = nsw add %x, %y` instruction at the position specified by the instruction builder `b`.
build_nsw_mul [Llvm] | `build_nsw_mul x y name b` creates a `%name = nsw mul %x, %y` instruction at the position specified by the instruction builder `b`.
build_nsw_neg [Llvm] | `build_nsw_neg x name b` creates a `%name = nsw sub 0, %x` instruction at the position specified by the instruction builder `b`.
build_nsw_sub [Llvm] | `build_nsw_sub x y name b` creates a `%name = nsw sub %x, %y` instruction at the position specified by the instruction builder `b`.
build_nuw_add [Llvm] | `build_nuw_add x y name b` creates a `%name = nuw add %x, %y` instruction at the position specified by the instruction builder `b`.
build_nuw_mul [Llvm] | `build_nuw_mul x y name b` creates a `%name = nuw mul %x, %y` instruction at the position specified by the instruction builder `b`.
build_nuw_neg [Llvm] | `build_nuw_neg x name b` creates a `%name = nuw sub 0, %x` instruction at the position specified by the instruction builder `b`.
build_nuw_sub [Llvm] | `build_nuw_sub x y name b` creates a `%name = nuw sub %x, %y` instruction at the position specified by the instruction builder `b`.
build_or [Llvm] | `build_or x y name b` creates a `%name = or %x, %y` instruction at the position specified by the instruction builder `b`.
build_phi [Llvm] | `build_phi incoming name b` creates a `%name = phi %incoming` instruction at the position specified by the instruction builder `b`.
build_pointercast [Llvm] | `build_pointercast v ty name b` creates a bitcast or pointer-to-int instruction at the position specified by the instruction builder `b`.
build_ptrdiff [Llvm] | `build_ptrdiff lhs rhs name b` creates a series of instructions that measure the difference between two pointer values at the position specified by the instruction builder `b`.
build_ptrtoint [Llvm] | `build_ptrtoint v ty name b` creates a `%name = prtotint %p to %ty` instruction at the position specified by the instruction builder `b`.
build_resume [Llvm] | `build_resume exn b` builds a `resume exn` instruction at the position specified by the instruction builder `b`.
build_ret [Llvm] | `build_ret v b` creates a `ret %v` instruction at the position specified by the instruction builder `b`.
build_ret_void [Llvm] | `build_ret_void b` creates a `ret void` instruction at the position specified by the instruction builder `b`.
build_sdiv [Llvm] | `build_sdiv x y name b` creates a `%name = sdiv %x, %y` instruction at the position specified by the instruction builder `b`.
build_select [Llvm] | `build_select cond thenv elsev name b` creates a `%name = select %cond, %thenv, %elsev` instruction at the position specified by the instruction builder `b`.
build_sext [Llvm] | `build_sext v ty name b` creates a `%name = sext %p to %ty` instruction at the position specified by the instruction builder `b`.
build_sext_or_bitcast [Llvm] | `build_sext_or_bitcast v ty name b` creates a sext or bitcast instruction at the position specified by the instruction builder `b`.
build_shl [Llvm] | `build_shl x y name b` creates a `%name = shl %x, %y` instruction at the position specified by the instruction builder `b`.
build_shufflevector [Llvm] | `build_shufflevector veca vecb mask name b` creates a `%name = shufflevector %veca, %vecb, %mask` instruction at the position specified by the instruction builder `b`.
build_sitofp [Llvm] | `build_sitofp v ty name b` creates a `%name = sitofp %p to %ty` instruction at the position specified by the instruction builder `b`.
build_srem [Llvm] | `build_SRem x y name b` creates a `%name = srem %x, %y` instruction at the position specified by the instruction builder `b`.
build_store [Llvm] | `build_store v p b` creates a `store %v, %p` instruction at the position specified by the instruction builder `b`.
build_struct_gep [Llvm] | `build_struct_gep p idx name b` creates a `%name = getelementptr %p, 0, idx` instruction at the position specified by the instruction builder `b`.
build_sub [Llvm] | `build_sub x y name b` creates a `%name = sub %x, %y` instruction at the position specified by the instruction builder `b`.
build_switch [Llvm] | `build_switch case elsebb count b` creates an empty `switch %case, %elsebb` instruction at the position specified by the instruction builder `b` with space reserved for `count` cases.
build_trunc [Llvm] | `build_trunc v ty name b` creates a `%name = trunc %p to %ty` instruction at the position specified by the instruction builder `b`.
build_trunc_or_bitcast [Llvm] | `build_trunc_or_bitcast v ty name b` creates a trunc or bitcast instruction at the position specified by the instruction builder `b`.
build_udiv [Llvm] | `build_udiv x y name b` creates a `%name = udiv %x, %y` instruction at the position specified by the instruction builder `b`.
build_uitofp [Llvm] | `build_uitofp v ty name b` creates a `%name = uitofp %p to %ty` instruction at the position specified by the instruction builder `b`.
build_unreachable [Llvm] | `build_unreachable b` creates an `unreachable` instruction at the position specified by the instruction builder `b`.
build_urem [Llvm] | `build_urem x y name b` creates a `%name = urem %x, %y` instruction at the position specified by the instruction builder `b`.
build_va_arg [Llvm] | `build_va_arg valist argty name b` creates a `%name = va_arg %valist, %argty` instruction at the position specified by the instruction builder `b`.
build_xor [Llvm] | `build_xor x y name b` creates a `%name = xor %x, %y` instruction at the position specified by the instruction builder `b`.
build_zext [Llvm] | `build_zext v ty name b` creates a `%name = zext %p to %ty` instruction at the position specified by the instruction builder `b`.
build_zext_or_bitcast [Llvm] | `build_zext_or_bitcast v ty name b` creates a zext or bitcast instruction at the position specified by the instruction builder `b`.
builder [Llvm] | `builder context` creates an instruction builder with no position in the context `context`.
builder_at [Llvm] | `builder_at ip` creates an instruction builder positioned at `ip`.
builder_at_end [Llvm] | `builder_at_end bb` creates an instruction builder positioned at the end of the basic block `bb`.
builder_before [Llvm] | `builder_before ins` creates an instruction builder positioned before the instruction `isn`.
by_name [Llvm_target.Target] | `by_name name` returns `Some t` if a target `t` named `name` is registered, or `None` otherwise.
by_triple [Llvm_target.Target] | `by_triple triple` returns a target for a triple `triple`, or raises `Error` if `triple` does not correspond to a registered target.
byte_order [Llvm_target.DataLayout] | Returns the byte order of a target, either `Endian.Big` or `Endian.Little`.
C
c [Llvm.CallConv] | `c` is the C calling convention.
classify_type [Llvm] | `classify_type ty` returns the `Llvm.TypeKind.t` corresponding to the type `ty`.
classify_value [Llvm] | `classify_value v` returns the kind of the value `v`.
clear_current_debug_location [Llvm] | `clear_current_debug_location b` clears the current debug location in the builder `b`.
clear_metadata [Llvm] | `clear_metadata i kind` clears the metadata of kind `kind` in the instruction `i`.
cold [Llvm.CallConv] | `cold` is the calling convention for callee-save.
const_add [Llvm] | `const_add c1 c2` returns the constant sum of two constants.
const_all_ones [Llvm] | `const_all_ones ty` returns the constant '-1' of the integer or vector type `ty`.
const_and [Llvm] | `const_and c1 c2` returns the constant bitwise `AND` of two integer constants.
const_array [Llvm] | `const_array ty elts` returns the constant array of type `array_type ty (Array.length elts)` and containing the values `elts`.
const_ashr [Llvm] | `const_ashr c1 c2` returns the constant integer `c1` right-shifted by the constant integer `c2` with sign extension.
const_bitcast [Llvm] | `const_bitcast c ty` returns the constant bitwise conversion of constant `c` to type `ty` of equal size.
const_exact_sdiv [Llvm] | `const_exact_sdiv c1 c2` returns the constant quotient `c1 / c2` of two signed integer constants.
const_extractelement [Llvm] | `const_extractelement vec i` returns the constant `i`th element of constant vector `vec`.
const_extractvalue [Llvm] | `const_extractvalue agg idxs` returns the constant `idxs`th value of constant aggregate `agg`.
const_fadd [Llvm] | `const_fadd c1 c2` returns the constant sum of two constant floats.
const_fcmp [Llvm] | `const_fcmp pred c1 c2` returns the constant comparison of two floating point constants, `c1 pred c2`.
const_fdiv [Llvm] | `const_fdiv c1 c2` returns the constant quotient `c1 / c2` of two floating point constants.
const_float [Llvm] | `const_float ty n` returns the floating point constant of type `ty` and value `n`.
const_float_of_string [Llvm] | `const_float_of_string ty s` returns the floating point constant of type `ty` and value `n`.
const_fmul [Llvm] | `const_fmul c1 c2` returns the constant product of two constants floats.
const_fneg [Llvm] | `const_fneg c` returns the arithmetic negation of the constant float `c`.
const_fpcast [Llvm] | `const_fpcast c ty` returns a constant fpext, bitcast, or fptrunc for fp -> fp casts of constant `c` to type `ty`.
const_fpext [Llvm] | `const_fpext c ty` returns the constant extension of floating point constant `c` to the larger floating point type `ty`.
const_fptosi [Llvm] | `const_fptoui c ty` returns the constant unsigned integer conversion of floating point constant `c` to integer type `ty`.
const_fptoui [Llvm] | `const_fptoui c ty` returns the constant unsigned integer conversion of floating point constant `c` to integer type `ty`.
const_fptrunc [Llvm] | `const_fptrunc c ty` returns the constant truncation of floating point constant `c` to the smaller floating point type `ty`.
const_frem [Llvm] | `const_frem c1 c2` returns the constant remainder `c1 MOD c2` of two signed floating point constants.
const_fsub [Llvm] | `const_fsub c1 c2` returns the constant difference, `c1 - c2`, of two constant floats.
const_gep [Llvm] | `const_gep pc indices` returns the constant `getElementPtr` of `p1` with the constant integers indices from the array `indices`.
const_icmp [Llvm] | `const_icmp pred c1 c2` returns the constant comparison of two integer constants, `c1 pred c2`.
const_in_bounds_gep [Llvm] | `const_in_bounds_gep pc indices` returns the constant `getElementPtr` of `p1` with the constant integers indices from the array `indices`.
const_inline_asm [Llvm] | `const_inline_asm ty asm con side align` inserts a inline assembly string.
const_insertelement [Llvm] | `const_insertelement vec v i` returns the constant vector with the same elements as constant vector `v` but the `i`th element replaced by the constant `v`.
const_insertvalue [Llvm] | `const_insertvalue agg val idxs` inserts the value `val` in the specified indexs `idxs` in the aggegate `agg`.
const_int [Llvm] | `const_int ty i` returns the integer constant of type `ty` and value `i`.
const_int_of_string [Llvm] | `const_int_of_string ty s r` returns the integer constant of type `ty` and value `s`, with the radix `r`.
const_intcast [Llvm] | `const_intcast c ty ~is_signed` returns a constant sext/zext, bitcast, or trunc for integer -> integer casts of constant `c` to type `ty`.
const_inttoptr [Llvm] | `const_inttoptr c ty` returns the constant pointer conversion of integer constant `c` to pointer type `ty`.
const_lshr [Llvm] | `const_lshr c1 c2` returns the constant integer `c1` right-shifted by the constant integer `c2` with zero extension.
const_mul [Llvm] | `const_mul c1 c2` returns the constant product of two constants.
const_named_struct [Llvm] | `const_named_struct namedty elts` returns the structured constant of type `namedty` (which must be a named structure type) and containing the values `elts`.
const_neg [Llvm] | `const_neg c` returns the arithmetic negation of the constant `c`.
const_not [Llvm] | `const_not c` returns the bitwise inverse of the constant `c`.
const_nsw_add [Llvm] | `const_nsw_add c1 c2` returns the constant sum of two constants with no signed wrapping.
const_nsw_mul [Llvm] | `const_nsw_mul c1 c2` returns the constant product of two constants with no signed wrapping.
const_nsw_neg [Llvm] | `const_nsw_neg c` returns the arithmetic negation of the constant `c` with no signed wrapping.
const_nsw_sub [Llvm] | `const_nsw_sub c1 c2` returns the constant difference of two constants with no signed wrapping.
const_null [Llvm] | `const_null ty` returns the constant null (zero) of the type `ty`.
const_nuw_add [Llvm] | `const_nuw_add c1 c2` returns the constant sum of two constants with no unsigned wrapping.
const_nuw_mul [Llvm] | `const_nuw_mul c1 c2` returns the constant product of two constants with no unsigned wrapping.
const_nuw_neg [Llvm] | `const_nuw_neg c` returns the arithmetic negation of the constant `c` with no unsigned wrapping.
const_nuw_sub [Llvm] | `const_nuw_sub c1 c2` returns the constant difference of two constants with no unsigned wrapping.
const_of_int64 [Llvm] | `const_of_int64 ty i` returns the integer constant of type `ty` and value `i`.
const_or [Llvm] | `const_or c1 c2` returns the constant bitwise `OR` of two integer constants.
const_packed_struct [Llvm] | `const_packed_struct context elts` returns the structured constant of type `Llvm.packed_struct_type` `(Array.map type_of elts)` and containing the values `elts` in the context `context`.
const_pointer_null [Llvm] | `const_pointer_null ty` returns the constant null (zero) pointer of the type `ty`.
const_pointercast [Llvm] | `const_pointercast c ty` returns a constant bitcast or a pointer-to-int cast conversion of constant `c` to type `ty` of equal size.
const_ptrtoint [Llvm] | `const_ptrtoint c ty` returns the constant integer conversion of pointer constant `c` to integer type `ty`.
const_sdiv [Llvm] | `const_sdiv c1 c2` returns the constant quotient `c1 / c2` of two signed integer constants.
const_select [Llvm] | `const_select cond t f` returns the constant conditional which returns value `t` if the boolean constant `cond` is true and the value `f` otherwise.
const_sext [Llvm] | `const_sext c ty` returns the constant sign extension of integer constant `c` to the larger integer type `ty`.
const_sext_or_bitcast [Llvm] | `const_sext_or_bitcast c ty` returns a constant sext or bitwise cast conversion of constant `c` to type `ty`.
const_shl [Llvm] | `const_shl c1 c2` returns the constant integer `c1` left-shifted by the constant integer `c2`.
const_shufflevector [Llvm] | `const_shufflevector a b mask` returns a constant `shufflevector`.
const_sitofp [Llvm] | `const_sitofp c ty` returns the constant floating point conversion of signed integer constant `c` to the floating point type `ty`.
const_srem [Llvm] | `const_srem c1 c2` returns the constant remainder `c1 MOD c2` of two signed integer constants.
const_string [Llvm] | `const_string c s` returns the constant `i8` array with the values of the characters in the string `s` in the context `c`.
const_stringz [Llvm] | `const_stringz c s` returns the constant `i8` array with the values of the characters in the string `s` and a null terminator in the context `c`.
const_struct [Llvm] | `const_struct context elts` returns the structured constant of type `struct_type (Array.map type_of elts)` and containing the values `elts` in the context `context`.
const_sub [Llvm] | `const_sub c1 c2` returns the constant difference, `c1 - c2`, of two constants.
const_trunc [Llvm] | `const_trunc c ty` returns the constant truncation of integer constant `c` to the smaller integer type `ty`.
const_trunc_or_bitcast [Llvm] | `const_trunc_or_bitcast c ty` returns a constant trunc or bitwise cast conversion of constant `c` to type `ty`.
const_udiv [Llvm] | `const_udiv c1 c2` returns the constant quotient `c1 / c2` of two unsigned integer constants.
const_uitofp [Llvm] | `const_uitofp c ty` returns the constant floating point conversion of unsigned integer constant `c` to the floating point type `ty`.
const_urem [Llvm] | `const_urem c1 c2` returns the constant remainder `c1 MOD c2` of two unsigned integer constants.
const_vector [Llvm] | `const_vector elts` returns the vector constant of type `vector_type (type_of elts.(0)) (Array.length elts)` and containing the values `elts`.
const_xor [Llvm] | `const_xor c1 c2` returns the constant bitwise `XOR` of two integer constants.
const_zext [Llvm] | `const_zext c ty` returns the constant zero extension of integer constant `c` to the larger integer type `ty`.
const_zext_or_bitcast [Llvm] | `const_zext_or_bitcast c ty` returns a constant zext or bitwise cast conversion of constant `c` to type `ty`.
constexpr_opcode [Llvm] | `constexpr_opcode v` returns an `Opcode.t` corresponding to constexpr value `v`, or `Opcode.Invalid` if `v` is not a constexpr.
cpu [Llvm_target.TargetMachine] | Returns the CPU used while creating this target machine.
create [Llvm_target.TargetMachine] | Creates a new target machine.
create [Llvm_passmgr_builder] | See `llvm::PassManagerBuilder`.
create [Llvm_executionengine.ExecutionEngine] | `create m` creates a new execution engine, taking ownership of the module `m` if successful.
create [Llvm.PassManager] | `PassManager.create ()` constructs a new whole-module pass pipeline.
create_context [Llvm] | `create_context ()` creates a context for storing the "global" state in LLVM.
create_function [Llvm.PassManager] | `PassManager.create_function m` constructs a new function-by-function pass pipeline over the module `m`.
create_interpreter [Llvm_executionengine.ExecutionEngine] | `create_interpreter m` creates a new interpreter, taking ownership of the module `m` if successful.
create_jit [Llvm_executionengine.ExecutionEngine] | `create_jit m optlevel` creates a new JIT (just-in-time compiler), taking ownership of the module `m` if successful with the desired optimization level `optlevel`.
create_module [Llvm] | `create_module context id` creates a module with the supplied module ID in the context `context`.
current_debug_location [Llvm] | `current_debug_location b` returns the current debug location, or None if none is currently set.
D
data_layout [Llvm_target.TargetMachine] | Returns the data layout of this target machine.
data_layout [Llvm_executionengine.ExecutionEngine] | `data_layout ee` is the data layout of the execution engine `ee`.
data_layout [Llvm] | `data_layout m` is the data layout specifier for the module `m`, something like `e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-...-a0:0:64-f80:128:128`.
declare_function [Llvm] | `declare_function name ty m` returns a new function of type `ty` and with name `name` in module `m`.
declare_global [Llvm] | `declare_global ty name m` returns a new global variable of type `ty` and with name `name` in module `m` in the default address space (0).
declare_qualified_global [Llvm] | `declare_qualified_global ty name addrspace m` returns a new global variable of type `ty` and with name `name` in module `m` in the address space `addrspace`.
default_triple [Llvm_target.Target] | `default_triple ()` returns the default target triple for current platform.
define_function [Llvm] | `define_function name ty m` creates a new function with name `name` and type `ty` in module `m`.
define_global [Llvm] | `define_global name init m` returns a new global with name `name` and initializer `init` in module `m` in the default address space (0).
define_qualified_global [Llvm] | `define_qualified_global name init addrspace m` returns a new global with name `name` and initializer `init` in module `m` in the address space `addrspace`.
delete_block [Llvm] | `delete_block bb` deletes the basic block `bb`.
delete_function [Llvm] | `delete_function f` destroys the function `f`.
delete_global [Llvm] | `delete_global gv` destroys the global variable `gv`.
delete_instruction [Llvm] | `delete_instruction i` deletes the instruction `i`.
description [Llvm_target.Target] | Returns the description of a target.
dispose [Llvm_executionengine.ExecutionEngine] | `dispose ee` releases the memory used by the execution engine and must be invoked to avoid memory leaks.
dispose [Llvm.PassManager] | Frees the memory of a pass pipeline.
dispose [Llvm.MemoryBuffer] | Disposes of a memory buffer.
dispose_context [Llvm] | `destroy_context ()` destroys a context.
dispose_module [Llvm] | `dispose_module m` destroys a module `m` and all of the IR objects it contained.
double_type [Llvm] | `double_type c` returns the IEEE 64-bit floating point type in the context `c`.
dump_module [Llvm] | `dump_module m` prints the .ll representation of the module `m` to standard error.
dump_type [Llvm] | `dump_type ty` prints the .ll representation of the type `ty` to standard error.
dump_value [Llvm] | `dump_value v` prints the .ll representation of the value `v` to standard error.
E
element_at_offset [Llvm_target.DataLayout] | Computes the structure element that contains the byte offset for a target.
element_type [Llvm] | `element_type ty` returns the element type of the pointer, vector, or array type `ty`.
emit_to_file [Llvm_target.TargetMachine] | Emits assembly or object data for the given module to the given file or raise `Error`.
emit_to_memory_buffer [Llvm_target.TargetMachine] | Emits assembly or object data for the given module to a fresh memory buffer or raise `Error`.
enable_pretty_stacktrace [Llvm] | `enable_pretty_stacktraces ()` enables LLVM's built-in stack trace code.
entry_block [Llvm] | `entry_block fn` returns the entry basic block of the function `f`.
F
fast [Llvm.CallConv] | `fast` is the calling convention to allow LLVM maximum optimization opportunities.
features [Llvm_target.TargetMachine] | Returns the feature string used while creating this target machine.
finalize [Llvm.PassManager] | `finalize fpm` finalizes all of the function passes scheduled in in the function pass manager `fpm`.
find_function [Llvm_executionengine.ExecutionEngine] | `find_function n ee` finds the function named `n` defined in any of the modules owned by the execution engine `ee`.
first [Llvm_target.Target] | `first ()` returns the first target in the registered targets list, or `None`.
float_type [Llvm] | `float_type c` returns the IEEE 32-bit floating point type in the context `c`.
fold_left_blocks [Llvm] | `fold_left_blocks f init fn` is `f (... (f init b1) ...) bN` where `b1,...,bN` are the basic blocks of function `fn`.
fold_left_functions [Llvm] | `fold_left_function f init m` is `f (... (f init f1) ...) fN` where `f1,...,fN` are the functions of module `m`.
fold_left_globals [Llvm] | `fold_left_globals f init m` is `f (... (f init g1) ...) gN` where `g1,...,gN` are the global variables of module `m`.
fold_left_instrs [Llvm] | `fold_left_instrs f init bb` is `f (... (f init g1) ...) gN` where `g1,...,gN` are the instructions of basic block `bb`.
fold_left_params [Llvm] | `fold_left_params f init fn` is `f (... (f init b1) ...) bN` where `b1,...,bN` are the parameters of function `fn`.
fold_left_uses [Llvm] | `fold_left_uses f init v` is `f (... (f init u1) ...) uN` where `u1,...,uN` are the users of the value `v`.
fold_right_blocks [Llvm] | `fold_right_blocks f fn init` is `f (... (f init bN) ...) b1` where `b1,...,bN` are the basic blocks of function `fn`.
fold_right_functions [Llvm] | `fold_right_functions f m init` is `f (... (f init fN) ...) f1` where `f1,...,fN` are the functions of module `m`.
fold_right_globals [Llvm] | `fold_right_globals f m init` is `f g1 (... (f gN init) ...)` where `g1,...,gN` are the global variables of module `m`.
fold_right_instrs [Llvm] | `fold_right_instrs f bb init` is `f (... (f init fN) ...) f1` where `f1,...,fN` are the instructions of basic block `bb`.
fold_right_params [Llvm] | `fold_right_params f fn init` is `f (... (f init bN) ...) b1` where `b1,...,bN` are the parameters of function `fn`.
fold_right_uses [Llvm] | `fold_right_uses f v init` is `f u1 (... (f uN init) ...)` where `u1,...,uN` are the users of the value `v`.
fp128_type [Llvm] | `fp128_type c` returns the IEEE 128-bit floating point type in the context `c`.
free_machine_code [Llvm_executionengine.ExecutionEngine] | `free_machine_code f ee` releases the memory in the execution engine `ee` used to store the machine code for the function `f`.
function_attr [Llvm] | `function_attr f` returns the function attribute for the function `f`.
function_begin [Llvm] | `function_begin m` returns the first position in the function list of the module `m`.
function_call_conv [Llvm] | `function_call_conv f` returns the calling convention of the function `f`.
function_end [Llvm] | `function_end m` returns the last position in the function list of the module `m`.
function_pred [Llvm] | `function_pred gv` returns the function list position preceding `After gv`.
function_succ [Llvm] | `function_succ gv` returns the function list position succeeding `Before gv`.
function_type [Llvm] | `function_type ret_ty param_tys` returns the function type returning `ret_ty` and taking `param_tys` as parameters.
G
gc [Llvm] | `gc f` returns `Some name` if the function `f` has a garbage collection algorithm specified and `None` otherwise.
get_mdstring [Llvm] | `get_mdstring v` returns the MDString.
get_module [Llvm_bitreader] | `get_module context mb` reads the bitcode for a new module `m` from the memory buffer `mb` in the context `context`.
get_named_metadata [Llvm] | `get_named_metadata m name` returns all the MDNodes belonging to the named metadata (if any).
global_begin [Llvm] | `global_begin m` returns the first position in the global variable list of the module `m`.
global_context [Llvm] | See the function `llvm::getGlobalContext`.
global_end [Llvm] | `global_end m` returns the last position in the global variable list of the module `m`.
global_initializer [Llvm] | `global_initializer gv` returns the initializer for the global variable `gv`.
global_parent [Llvm] | `global_parent g` is the enclosing module of the global value `g`.
global_pred [Llvm] | `global_pred gv` returns the global variable list position preceding `After gv`.
global_succ [Llvm] | `global_succ gv` returns the global variable list position succeeding `Before gv`.
H
has_asm_backend [Llvm_target.Target] | Returns `true` if the target has an ASM backend (required for emitting output).
has_jit [Llvm_target.Target] | Returns `true` if the target has a JIT.
has_metadata [Llvm] | `has_metadata i` returns whether or not the instruction `i` has any metadata attached to it.
has_target_machine [Llvm_target.Target] | Returns `true` if the target has a target machine associated.
I
i16_type [Llvm] | `i16_type c` returns an integer type of bitwidth 16 in the context `c`.
i1_type [Llvm] | `i1_type c` returns an integer type of bitwidth 1 in the context `c`.
i32_type [Llvm] | `i32_type c` returns an integer type of bitwidth 32 in the context `c`.
i64_type [Llvm] | `i64_type c` returns an integer type of bitwidth 64 in the context `c`.
i8_type [Llvm] | `i8_type c` returns an integer type of bitwidth 8 in the context `c`.
icmp_predicate [Llvm] | `icmp_predicate i` returns the `Icmp.t` corresponding to an `icmp` instruction `i`.
incoming [Llvm] | `incoming pn` returns the list of value-block pairs for phi node `pn`.
initialize [Llvm_XCore] |
initialize [Llvm_X86] |
initialize [Llvm_SystemZ] |
initialize [Llvm_Sparc] |
initialize [Llvm_R600] |
initialize [Llvm_PowerPC] |
initialize [Llvm_NVPTX] |
initialize [Llvm_Mips] |
initialize [Llvm_MSP430] |
initialize [Llvm_Hexagon] |
initialize [Llvm_CppBackend] |
initialize [Llvm_ARM] |
initialize [Llvm_AArch64] |
initialize [Llvm.PassManager] | `initialize fpm` initializes all of the function passes scheduled in the function pass manager `fpm`.
initialize_native_target [Llvm_executionengine] |
insert_block [Llvm] | `insert_block c name bb` creates a new basic block named `name` before the basic block `bb` in the context `c`.
insert_into_builder [Llvm] | `insert_into_builder i name b` inserts the specified instruction `i` at the position specified by the instruction builder `b`.
insertion_block [Llvm] | `insertion_block b` returns the basic block that the builder `b` is positioned to insert into.
install_fatal_error_handler [Llvm] | `install_fatal_error_handler f` installs `f` as LLVM's fatal error handler.
instr_begin [Llvm] | `instr_begin bb` returns the first position in the instruction list of the basic block `bb`.
instr_end [Llvm] | `instr_end bb` returns the last position in the instruction list of the basic block `bb`.
instr_opcode [Llvm] | `inst_opcode i` returns the `Opcode.t` corresponding to instruction `i`, or `Opcode.Invalid` if `i` is not an instruction.
instr_parent [Llvm] | `instr_parent i` is the enclosing basic block of the instruction `i`.
instr_pred [Llvm] | `instr_pred i` returns the instruction list position preceding `After i`.
instr_succ [Llvm] | `instr_succ i` returns the instruction list position succeeding `Before i`.
instruction_call_conv [Llvm] | `instruction_call_conv ci` is the calling convention for the call or invoke instruction `ci`, which may be one of the values from the module `Llvm.CallConv`.
int64_of_const [Llvm] | `int64_of_const c` returns the int64 value of the `c` constant integer.
integer_bitwidth [Llvm] | `integer_bitwidth c ty` returns the number of bits in the integer type `ty` in the context `c`.
integer_type [Llvm] | `integer_type c n` returns an integer type of bitwidth `n` in the context `c`.
intptr_type [Llvm_target.DataLayout] | Returns the integer type that is the same size as a pointer on a target.
is_constant [Llvm] | `is_constant v` returns `true` if the value `v` is a constant, `false` otherwise.
is_declaration [Llvm] | `is_declaration g` returns `true` if the global value `g` is a declaration only.
is_externally_initialized [Llvm] | `is_externally_initialized gv` returns `true` if the global variable `gv` is externally initialized and `false` otherwise.
is_global_constant [Llvm] | `is_global_constant gv` returns `true` if the global variabile `gv` is a constant.
is_intrinsic [Llvm] | `is_intrinsic f` returns true if the function `f` is an intrinsic.
is_null [Llvm] | `is_null v` returns `true` if the value `v` is the null (zero) value.
is_opaque [Llvm] | `is_opaque sty` returns `true` if the structure type `sty` is opaque.
is_packed [Llvm] | `is_packed sty` returns `true` if the structure type `sty` is packed, `false` otherwise.
is_tail_call [Llvm] | `is_tail_call ci` is `true` if the call instruction `ci` is flagged as eligible for tail call optimization, `false` otherwise.
is_thread_local [Llvm] | `is_thread_local gv` returns `true` if the global variable `gv` is thread-local and `false` otherwise.
is_undef [Llvm] | `is_undef v` returns `true` if the value `v` is an undefined value, `false` otherwise.
is_var_arg [Llvm] | `is_var_arg fty` returns `true` if `fty` is a varargs function type, `false` otherwise.
is_volatile [Llvm] | `is_volatile i` is `true` if the load or store instruction `i` is marked as volatile.
iter_blocks [Llvm] | `iter_blocks f fn` applies function `f` to each of the basic blocks of function `fn` in order.
iter_functions [Llvm] | `iter_functions f m` applies function `f` to each of the functions of module `m` in order.
iter_globals [Llvm] | `iter_globals f m` applies function `f` to each of the global variables of module `m` in order.
iter_instrs [Llvm] | `iter_instrs f bb` applies function `f` to each of the instructions of basic block `bb` in order.
iter_params [Llvm] | `iter_params f fn` applies function `f` to each of the parameters of function `fn` in order.
iter_uses [Llvm] | `iter_uses f v` applies function `f` to each of the users of the value `v` in order.
L
label_type [Llvm] | `label_type c` creates a type of a basic block in the context `c`.
link_modules [Llvm_linker] | `link_modules dst src mode` links `src` into `dst`, raising `Error` if the linking fails.
linkage [Llvm] | `linkage g` returns the linkage of the global value `g`.
lookup_function [Llvm] | `lookup_function name m` returns `Some f` if a function with name `name` exists in module `m`.
lookup_global [Llvm] | `lookup_global name m` returns `Some g` if a global variable with name `name` exists in module `m`.
M
mdkind_id [Llvm] | `mdkind_id context name` returns the MDKind ID that corresponds to the name `name` in the context `context`.
mdnode [Llvm] | `mdnode c elts` returns the MDNode containing the values `elts` in the context `c`.
mdstring [Llvm] | `mdstring c s` returns the MDString of the string `s` in the context `c`.
metadata [Llvm] | `metadata i kind` optionally returns the metadata associated with the kind `kind` in the instruction `i` See the function `llvm::Instruction::getMetadata`.
module_context [Llvm] | `module_context m` returns the context of the specified module.
move_block_after [Llvm] | `move_block_after pos bb` moves the basic block `bb` after `pos`.
move_block_before [Llvm] | `move_block_before pos bb` moves the basic block `bb` before `pos`.
N
name [Llvm_target.Target] | Returns the name of a target.
named_struct_type [Llvm] | `named_struct_type context name` returns the named structure type `name` in the context `context`.
num_operands [Llvm] | `num_operands v` returns the number of operands for the value `v`.
O
of_file [Llvm.MemoryBuffer] | `of_file p` is the memory buffer containing the contents of the file at path `p`.
of_float [Llvm_executionengine.GenericValue] | `of_float fpty n` boxes the float `n` in a float-valued generic value according to the floating point type `fpty`.
of_int [Llvm_executionengine.GenericValue] | `of_int n w` boxes the int `i` in a generic value with the bitwidth `w`.
of_int32 [Llvm_executionengine.GenericValue] | `of_int32 n w` boxes the int32 `i` in a generic value with the bitwidth `w`.
of_int64 [Llvm_executionengine.GenericValue] | `of_int64 n w` boxes the int64 `i` in a generic value with the bitwidth `w`.
of_nativeint [Llvm_executionengine.GenericValue] | `of_natint n w` boxes the native int `i` in a generic value with the bitwidth `w`.
of_pointer [Llvm_executionengine.GenericValue] | `of_pointer v` boxes the pointer value `v` in a generic value.
of_stdin [Llvm.MemoryBuffer] | `of_stdin ()` is the memory buffer containing the contents of standard input.
of_string [Llvm_target.DataLayout] | `of_string rep` parses the data layout string representation `rep`.
of_string [Llvm.MemoryBuffer] | `of_string ~name s` is the memory buffer containing the contents of string `s`.
offset_of_element [Llvm_target.DataLayout] | Computes the byte offset of the indexed struct element for a target.
operand [Llvm] | `operand v i` returns the operand at index `i` for the value `v`.
output_bitcode [Llvm_bitwriter] | `output_bitcode ~unbuffered c m` writes the bitcode for module `m` to the channel `c`.
P
packed_struct_type [Llvm] | `packed_struct_type context ys` returns the packed structure type in the context `context` containing in the types in the array `tys`.
param [Llvm] | `param f n` returns the `n`th parameter of function `f`.
param_attr [Llvm] | `param_attr p` returns the attributes of parameter `p`.
param_begin [Llvm] | `param_begin f` returns the first position in the parameter list of the function `f`.
param_end [Llvm] | `param_end f` returns the last position in the parameter list of the function `f`.
param_parent [Llvm] | `param_parent p` returns the parent function that owns the parameter.
param_pred [Llvm] | `param_pred gv` returns the function list position preceding `After gv`.
param_succ [Llvm] | `param_succ bb` returns the parameter list position succeeding `Before bb`.
param_types [Llvm] | `param_types fty` gets the parameter types of the function type `fty`.
params [Llvm] | `params f` returns the parameters of function `f`.
parse_bitcode [Llvm_bitreader] | `parse_bitcode context mb` parses the bitcode for a new module `m` from the memory buffer `mb` in the context `context`.
parse_ir [Llvm_irreader] | `parse_ir context mb` parses the IR for a new module `m` from the memory buffer `mb` in the context `context`.
pointer_size [Llvm_target.DataLayout] | Returns the pointer size in bytes for a target.
pointer_type [Llvm] | `pointer_type ty` returns the pointer type referencing objects of type `ty` in the default address space (0).
populate_function_pass_manager [Llvm_passmgr_builder] | See `llvm::PassManagerBuilder::populateFunctionPassManager`.
populate_lto_pass_manager [Llvm_passmgr_builder] | See `llvm::PassManagerBuilder::populateLTOPassManager`.
populate_module_pass_manager [Llvm_passmgr_builder] | See `llvm::PassManagerBuilder::populateModulePassManager`.
position_at_end [Llvm] | `position_at_end bb b` moves the instruction builder `b` to the end of the basic block `bb`.
position_before [Llvm] | `position_before ins b` moves the instruction builder `b` to before the instruction `isn`.
position_builder [Llvm] | `position_builder ip bb` moves the instruction builder `bb` to the position `ip`.
ppc_fp128_type [Llvm] | `ppc_fp128_type c` returns the PowerPC 128-bit floating point type in the context `c`.
preferred_align [Llvm_target.DataLayout] | Computes the preferred alignment of a type in bytes for a target.
preferred_align_of_global [Llvm_target.DataLayout] | Computes the preferred alignment of a global variable in bytes for a target.
print_module [Llvm] | `print_module f m` prints the .ll representation of the module `m` to file `f`.
Q
qualified_intptr_type [Llvm_target.DataLayout] | Returns the integer type that is the same size as a pointer on a target in a given address space.
qualified_pointer_size [Llvm_target.DataLayout] | Returns the pointer size in bytes for a target in a given address space.
qualified_pointer_type [Llvm] | `qualified_pointer_type ty as` returns the pointer type referencing objects of type `ty` in address space `as`.
R
remove_block [Llvm] | `remove_block bb` removes the basic block `bb` from its parent function.
remove_function_attr [Llvm] | `remove_function_attr f a` removes attribute `a` from the return type of function `f`.
remove_initializer [Llvm] | `remove_initializer gv` unsets the initializer for the global variable `gv`.
remove_instruction_param_attr [Llvm] | `remove_instruction_param_attr ci i a` removes attribute `a` from the `i`th parameter of the call or invoke instruction `ci`.
remove_module [Llvm_executionengine.ExecutionEngine] | `remove_module m ee` removes the module `m` from the execution engine `ee`, disposing of `m` and the module referenced by `mp`.
remove_param_attr [Llvm] | `remove_param_attr p a` removes attribute `a` from parameter `p`.
replace_all_uses_with [Llvm] | `replace_all_uses_with old new` replaces all uses of the value `old` with the value `new`.
reset_fatal_error_handler [Llvm] | `reset_fatal_error_handler ()` resets LLVM's fatal error handler.
return_type [Llvm] | `return_type fty` gets the return type of the function type `fty`.
rev_iter_blocks [Llvm] | `rev_iter_blocks f fn` applies function `f` to each of the basic blocks of function `fn` in reverse order.
rev_iter_functions [Llvm] | `rev_iter_functions f fn` applies function `f` to each of the functions of module `m` in reverse order.
rev_iter_globals [Llvm] | `rev_iter_globals f m` applies function `f` to each of the global variables of module `m` in reverse order.
rev_iter_params [Llvm] | `rev_iter_params f fn` applies function `f` to each of the parameters of function `fn` in reverse order.
run_function [Llvm_executionengine.ExecutionEngine] | `run_function f args ee` synchronously executes the function `f` with the arguments `args`, which must be compatible with the parameter types.
run_function [Llvm.PassManager] | `run_function f fpm` executes all of the function passes scheduled in the function pass manager `fpm` over the function `f`.
run_function_as_main [Llvm_executionengine.ExecutionEngine] | `run_function_as_main f args env ee` executes the function `f` as a main function, passing it `argv` and `argc` according to the string array `args`, and `envp` as specified by the array `env`.
run_module [Llvm.PassManager] | `run_module m pm` initializes, executes on the module `m`, and finalizes all of the passes scheduled in the pass manager `pm`.
run_static_ctors [Llvm_executionengine.ExecutionEngine] | `run_static_ctors ee` executes the static constructors of each module in the execution engine `ee`.
run_static_dtors [Llvm_executionengine.ExecutionEngine] | `run_static_dtors ee` executes the static destructors of each module in the execution engine `ee`.
S
section [Llvm] | `section g` returns the linker section of the global value `g`.
set_alignment [Llvm] | `set_alignment n g` sets the required alignment of the global value `g` to `n` bytes.
set_cleanup [Llvm] | `set_cleanup lp` sets the cleanup flag in the `landingpad`instruction.
set_current_debug_location [Llvm] | `set_current_debug_location b md` sets the current debug location `md` in the builder `b`.
set_data_layout [Llvm] | `set_data_layout s m` changes the data layout specifier for the module `m` to the string `s`.
set_disable_unit_at_a_time [Llvm_passmgr_builder] | See `llvm::PassManagerBuilder::DisableUnitAtATime`.
set_disable_unroll_loops [Llvm_passmgr_builder] | See `llvm::PassManagerBuilder::DisableUnrollLoops`.
set_externally_initialized [Llvm] | `set_externally_initialized c gv` sets the global variable `gv` to be externally initialized if `c` is `true` and not otherwise.
set_function_call_conv [Llvm] | `set_function_call_conv cc f` sets the calling convention of the function `f` to the calling convention numbered `cc`.
set_gc [Llvm] | `set_gc gc f` sets the collection algorithm for the function `f` to `gc`.
set_global_constant [Llvm] | `set_global_constant c gv` sets the global variable `gv` to be a constant if `c` is `true` and not if `c` is `false`.
set_initializer [Llvm] | `set_initializer c gv` sets the initializer for the global variable `gv` to the constant `c`.
set_inst_debug_location [Llvm] | `set_inst_debug_location b i` sets the current debug location of the builder `b` to the instruction `i`.
set_instruction_call_conv [Llvm] | `set_instruction_call_conv cc ci` sets the calling convention for the call or invoke instruction `ci` to the integer `cc`, which can be one of the values from the module `Llvm.CallConv`.
set_linkage [Llvm] | `set_linkage l g` sets the linkage of the global value `g` to `l`.
set_metadata [Llvm] | `set_metadata i kind md` sets the metadata `md` of kind `kind` in the instruction `i`.
set_module_inline_asm [Llvm] | `set_module_inline_asm m asm` sets the inline assembler for the module.
set_operand [Llvm] | `set_operand v i o` sets the operand of the value `v` at the index `i` to the value `o`.
set_opt_level [Llvm_passmgr_builder] | See `llvm::PassManagerBuilder::OptLevel`.
set_param_alignment [Llvm] | `set_param_alignment p a` set the alignment of parameter `p` to `a`.
set_section [Llvm] | `set_section s g` sets the linker section of the global value `g` to `s`.
set_size_level [Llvm_passmgr_builder] | See `llvm::PassManagerBuilder::SizeLevel`.
set_tail_call [Llvm] | `set_tail_call tc ci` flags the call instruction `ci` as eligible for tail call optimization if `tc` is `true`, clears otherwise.
set_target_triple [Llvm] | `target_triple triple m` changes the target specifier for the module `m` to the string `triple`.
set_thread_local [Llvm] | `set_thread_local c gv` sets the global variable `gv` to be thread local if `c` is `true` and not otherwise.
set_thread_local_mode [Llvm] | `set_thread_local c gv` sets the thread local mode of the global variable `gv`.
set_value_name [Llvm] | `set_value_name n v` sets the name of the value `v` to `n`.
set_verbose_asm [Llvm_target.TargetMachine] | Sets the assembly verbosity of this target machine.
set_visibility [Llvm] | `set_visibility v g` sets the linker visibility of the global value `g` to `v`.
set_volatile [Llvm] | `set_volatile v i` marks the load or store instruction `i` as volatile if `v` is `true`, unmarks otherwise.
size_in_bits [Llvm_target.DataLayout] | Computes the size of a type in bits for a target.
size_of [Llvm] | `size_of ty` returns the sizeof constant for the type `ty`.
stack_align [Llvm_target.DataLayout] | Computes the call frame alignment of a type in bytes for a target.
store_size [Llvm_target.DataLayout] | Computes the storage size of a type in bytes for a target.
string_of_llmodule [Llvm] | `string_of_llmodule m` returns the .ll representation of the module `m` as a string.
string_of_lltype [Llvm] | `string_of_lltype ty` returns a string describing the type `ty`.
string_of_llvalue [Llvm] | `string_of_llvalue v` returns a string describing the value `v`.
struct_element_types [Llvm] | `struct_element_types sty` returns the constituent types of the struct type `sty`.
struct_name [Llvm] | `struct_name ty` returns the name of the named structure type `ty`, or None if the structure type is not named
struct_set_body [Llvm] | `struct_set_body ty elts ispacked` sets the body of the named struct `ty` to the `elts` elements.
struct_type [Llvm] | `struct_type context tys` returns the structure type in the context `context` containing in the types in the array `tys`.
succ [Llvm_target.Target] | `succ t` returns the next target after `t`, or `None` if `t` was the last target.
switch_default_dest [Llvm] | `switch_default_dest sw` returns the default destination of the `switch` instruction.
T
target [Llvm_target.TargetMachine] | Returns the Target used in a TargetMachine
target_triple [Llvm] | `target_triple m` is the target specifier for the module `m`, something like `i686-apple-darwin8`.
thread_local_mode [Llvm] | `is_thread_local gv` returns the thread local mode of the global variable `gv`.
triple [Llvm_target.TargetMachine] | Returns the triple used while creating this target machine.
type_by_name [Llvm] | `type_by_name m name` returns the specified type from the current module if it exists.
type_context [Llvm] | `type_context ty` returns the `Llvm.llcontext` corresponding to the type `ty`.
type_is_sized [Llvm] | `type_is_sized ty` returns whether the type has a size or not.
type_of [Llvm] | `type_of v` returns the type of the value `v`.
U
undef [Llvm] | `undef ty` returns the undefined value of the type `ty`.
use_begin [Llvm] | `use_begin v` returns the first position in the use list for the value `v`.
use_inliner_with_threshold [Llvm_passmgr_builder] | See `llvm::PassManagerBuilder::Inliner`.
use_succ [Llvm] | `use_succ u` returns the use list position succeeding `u`.
used_value [Llvm] | `used_value u` returns the usee of the use `u`.
user [Llvm] | `user u` returns the user of the use `u`.
V
value_is_block [Llvm] | `value_is_block v` returns `true` if the value `v` is a basic block and `false` otherwise.
value_name [Llvm] | `value_name v` returns the name of the value `v`.
value_of_block [Llvm] | `value_of_block bb` losslessly casts `bb` to an `llvalue`.
var_arg_function_type [Llvm] | `var_arg_function_type ret_ty param_tys` is just like `function_type ret_ty param_tys` except that it returns the function type which also takes a variable number of arguments.
vector_size [Llvm] | `element_type ty` returns the element count of the vector type `ty`.
vector_type [Llvm] | `vector_type ty n` returns the array type containing `n` elements of the primitive type `ty`.
verify_function [Llvm_analysis] | `verify_function f` returns `None` if the function `f` is valid, and `Some reason` if it is invalid.
verify_module [Llvm_analysis] | `verify_module m` returns `None` if the module `m` is valid, and `Some reason` if it is invalid.
view_function_cfg [Llvm_analysis] | `view_function_cfg f` opens up a ghostscript window displaying the CFG of the current function with the code for each basic block inside.
view_function_cfg_only [Llvm_analysis] | `view_function_cfg_only f` works just like `view_function_cfg`, but does not include the contents of basic blocks into the nodes.
visibility [Llvm] | `visibility g` returns the linker visibility of the global value `g`.
void_type [Llvm] | `void_type c` creates a type of a function which does not return any value in the context `c`.
W
write_bitcode_file [Llvm_bitwriter] | `write_bitcode_file m path` writes the bitcode for module `m` to the file at `path`.
write_bitcode_to_fd [Llvm_bitwriter] | `write_bitcode_to_fd ~unbuffered fd m` writes the bitcode for module `m` to the channel `c`.
X
x86_fastcall [Llvm.CallConv] | `x86_fastcall` is the familiar fastcall calling convention from C.
x86_mmx_type [Llvm] | `x86_mmx_type c` returns the x86 64-bit MMX register type in the context `c`.
x86_stdcall [Llvm.CallConv] | `x86_stdcall` is the familiar stdcall calling convention from C.
x86fp80_type [Llvm] | `x86fp80_type c` returns the x87 80-bit floating point type in the context `c`.