# 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_alignment_from_assumptions [Llvm_scalar_opts] | See the `llvm::createAlignmentFromAssumptionsPass` function.
add_always_inliner [Llvm_ipo] | See the `llvm::createAlwaysInlinerPass` function.
add_analysis_passes [Llvm_target.TargetMachine] | Adds the target-specific analysis passes to the pass manager.
add_argument_promotion [Llvm_ipo] | See the `llvm::createAddArgumentPromotionPass` function.
add_basic_alias_analysis [Llvm_scalar_opts] | See the `llvm::createBasicAliasAnalysisPass` function.
add_call_site_attr [Llvm] | `add_call_site_attr f a i` adds attribute `a` to the call instruction `ci` at position `i`.
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 the `llvm::createConstantMergePass` function.
add_constant_propagation [Llvm_scalar_opts] | See the `llvm::createConstantPropagationPass` function.
add_correlated_value_propagation [Llvm_scalar_opts] | See the `llvm::createCorrelatedValuePropagationPass` function.
add_dead_arg_elimination [Llvm_ipo] | See the `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 i` adds attribute `a` to the function `f` at position `i`.
add_function_attrs [Llvm_ipo] | See the `llvm::createFunctionAttrsPass` function.
add_function_inlining [Llvm_ipo] | See the `llvm::createFunctionInliningPass` function.
add_global_dce [Llvm_ipo] | See the `llvm::createGlobalDCEPass` function.
add_global_mapping [Llvm_executionengine] | `add_global_mapping gv ptr ee` tells the execution engine `ee` that the global `gv` is at the specified location `ptr`, which must outlive `gv` and `ee`.
add_global_optimizer [Llvm_ipo] | See the `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_internalize [Llvm_ipo] | See the `llvm::createInternalizePass` function.
add_ipc_propagation [Llvm_ipo] | See the `llvm::createIPConstantPropagationPass` function.
add_ipsccp [Llvm_ipo] | See the `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] | See the `llvm::createLoopIdiomPass` function.
add_loop_reroll [Llvm_scalar_opts] | See the `llvm::createLoopRerollPass` function.
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_lower_switch [Llvm_scalar_opts] | See the `llvm::createLowerSwitchPass` 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_merged_load_store_motion [Llvm_scalar_opts] | See `llvm::createMergedLoadStoreMotionPass` function.
add_module [Llvm_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_partially_inline_lib_calls [Llvm_scalar_opts] | See the `llvm::createPartiallyInlineLibCallsPass` function.
add_prune_eh [Llvm_ipo] | See the `llvm::createPruneEHPass` function.
add_reassociation [Llvm_scalar_opts] | See the `llvm::createReassociatePass` function.
add_scalar_repl_aggregation [Llvm_scalar_opts] | See the `llvm::createSROAPass` function.
add_scalar_repl_aggregation_ssa [Llvm_scalar_opts] | See the `llvm::createSROAPass` function.
add_scalar_repl_aggregation_with_threshold [Llvm_scalar_opts] | See the `llvm::createSROAPass` function.
add_scalarizer [Llvm_scalar_opts] | See `llvm::createScalarizerPass` function.
add_sccp [Llvm_scalar_opts] | See the `llvm::createSCCPPass` function.
add_scoped_no_alias_alias_analysis [Llvm_scalar_opts] | See the `llvm::createScopedNoAliasAAPass` function.
add_slp_vectorize [Llvm_vectorize] | See the `llvm::createSLPVectorizerPass` function.
add_strip_dead_prototypes [Llvm_ipo] | See the `llvm::createStripDeadPrototypesPass` function.
add_strip_symbols [Llvm_ipo] | See the `llvm::createStripSymbolsPass` function.
add_tail_call_elimination [Llvm_scalar_opts] | See the `llvm::createTailCallEliminationPass` function.
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_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.
attr_of_repr [Llvm] | `attr_of_repr context repr` creates an attribute with the supplied representation `repr` in `context`.
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_empty_phi [Llvm] | `build_empty_phi ty name b` creates a `%name = phi %ty` 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_extractvalue 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.
call_site_attrs [Llvm] | `call_site_attr f i` returns the attributes for the call instruction `ci` at position `i`.
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`.
clone_module [Llvm_transform_utils] | `clone_module m` returns an exact copy of module `m`.
cold [Llvm.CallConv] | `cold` is the calling convention for callee-save.
condition [Llvm] | `condition v` return the condition of the branch instruction `v`.
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_element [Llvm] | `const_element c` returns a constant for a specified index's element.
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 `pc` 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 `pc` 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 the `llvm::PassManagerBuilder` function.
create [Llvm_executionengine] | `create m optlevel` creates a new MCJIT just-in-time compiler, taking ownership of the module `m` if successful with the desired optimization level `optlevel`.
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_enum_attr [Llvm] | `create_enum_attr context value kind` creates an enum attribute with the supplied `kind` and `value` in `context`; if the value is not required (as for the majority of attributes), use `0L`.
create_function [Llvm.PassManager] | `PassManager.create_function m` constructs a new function-by-function pass pipeline over the module `m`.
create_module [Llvm] | `create_module context id` creates a module with the supplied module ID in the context `context`.
create_string_attr [Llvm] | `create_string_attr context kind value` creates a string attribute with the supplied `kind` and `value` in `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] | `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_compiler_options [Llvm_executionengine] | Default MCJIT compiler options: `{ opt_level = 0; code_model = CodeModel.JIT_default; no_framepointer_elim = false; enable_fast_isel = false }`
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.
description [Llvm.Diagnostic] | `description d` returns a textual description of `d`.
dispose [Llvm_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.
dll_storage_class [Llvm] | `dll_storage_class g` returns the DLL storage class of the global value `g`.
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`.
enum_attr_kind [Llvm] | `enum_attr_kind name` returns the kind of enum attributes named `name`.
F
fast [Llvm.CallConv] | `fast` is the calling convention to allow LLVM maximum optimization opportunities.
fcmp_predicate [Llvm] | `fcmp_predicate i` returns the `fcmp.t` corresponding to an `fcmp` instruction `i`.
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 the function pass manager `fpm`.
first [Llvm_target.Target] | `first ()` returns the first target in the registered targets list, or `None`.
float_of_const [Llvm] | `float_of_const c` returns the float value of the `c` constant float.
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`.
fold_successors [Llvm] | `fold_successors f v init` is `f (... (f init vN) ...) v1` where `v1,...,vN` are the successors of `v`.
fp128_type [Llvm] | `fp128_type c` returns the IEEE 128-bit floating point type in the context `c`.
function_attrs [Llvm] | `function_attrs f i` returns the attributes for the function `f` at position `i`.
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_branch [Llvm] | `get_branch c` returns a description of the branch instruction `c`.
get_function_address [Llvm_executionengine] | `get_function_address fn typ ee` returns a pointer to the function `fn` as type `typ`, which will be a pointer type for a function (e.g.
get_global_value_address [Llvm_executionengine] | `get_global_value_address id typ ee` returns a pointer to the identifier `id` as type `typ`, which will be a pointer type for a value, and which will be live as long as `id` and `ee` are.
get_mdnode_operands [Llvm] | `get_mdnode_operands v` returns the operands in the MDNode.
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 `LLVMGetGlobalContext`.
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_executionengine] | `initialize ()` initializes the backend corresponding to the host.
initialize [Llvm_all_backends] |
initialize [Llvm_XCore] |
initialize [Llvm_X86] |
initialize [Llvm_WebAssembly] |
initialize [Llvm_SystemZ] |
initialize [Llvm_Sparc] |
initialize [Llvm_PowerPC] |
initialize [Llvm_NVPTX] |
initialize [Llvm_Mips] |
initialize [Llvm_MSP430] |
initialize [Llvm_Lanai] |
initialize [Llvm_Hexagon] |
initialize [Llvm_BPF] |
initialize [Llvm_AVR] |
initialize [Llvm_ARM] |
initialize [Llvm_AMDGPU] |
initialize [Llvm_AArch64] |
initialize [Llvm.PassManager] | `initialize fpm` initializes all of the function passes scheduled in the function pass manager `fpm`.
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_clone [Llvm] | `inst_clone i` returns a copy of instruction `i`, The instruction has no parent, and no name.
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_conditional [Llvm] | `is_conditional v` returns true if the branch instruction `v` is conditional.
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_terminator [Llvm] | `is_terminator v` returns true if the instruction `v` is a terminator.
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_successors [Llvm] | `iter_successors f v` applies function f to each successor `v` 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` 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`.
mdnull [Llvm] | `mdnull c` returns a null MDNode in 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`.
num_successors [Llvm] | `num_successors v` returns the number of successors 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_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`.
operand_use [Llvm] | `operand_use v i` returns the use of 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_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_command_line_options [Llvm] | `parse_command_line_options ?overview args` parses `args` using the LLVM command line parser.
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 the `llvm::PassManagerBuilder::populateFunctionPassManager` function.
populate_lto_pass_manager [Llvm_passmgr_builder] | See the `llvm::PassManagerBuilder::populateLTOPassManager` function.
populate_module_pass_manager [Llvm_passmgr_builder] | See the `llvm::PassManagerBuilder::populateModulePassManager` function.
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_enum_call_site_attr [Llvm] | `remove_enum_call_site_attr f k i` removes enum attribute with kind `k` from the call instruction `ci` at position `i`.
remove_enum_function_attr [Llvm] | `remove_enum_function_attr f k i` removes enum attribute with kind `k` from the function `f` at position `i`.
remove_initializer [Llvm] | `remove_initializer gv` unsets the initializer for the global variable `gv`.
remove_module [Llvm_executionengine] | `remove_module m ee` removes the module `m` from the execution engine `ee`.
remove_string_call_site_attr [Llvm] | `remove_string_call_site_attr f k i` removes string attribute with kind `k` from the call instruction `ci` at position `i`.
remove_string_function_attr [Llvm] | `remove_string_function_attr f k i` removes string attribute with kind `k` from the function `f` at position `i`.
replace_all_uses_with [Llvm] | `replace_all_uses_with old new` replaces all uses of the value `old` with the value `new`.
repr_of_attr [Llvm] | `repr_of_attr attr` describes the representation of attribute `attr`.
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.PassManager] | `run_function f fpm` executes all of the function passes scheduled in the function pass manager `fpm` over the function `f`.
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] | `run_static_ctors ee` executes the static constructors of each module in the execution engine `ee`.
run_static_dtors [Llvm_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_condition [Llvm] | `set_condition v c` sets the condition of the branch instruction `v` to the value `c`.
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_diagnostic_handler [Llvm] | `set_diagnostic_handler c h` set the diagnostic handler of `c` to `h`.
set_disable_unit_at_a_time [Llvm_passmgr_builder] | See the `llvm::PassManagerBuilder::DisableUnitAtATime` function.
set_disable_unroll_loops [Llvm_passmgr_builder] | See the `llvm::PassManagerBuilder::DisableUnrollLoops` function.
set_dll_storage_class [Llvm] | `set_dll_storage_class v g` sets the DLL storage class of the global value `g` to `v`.
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 the `llvm::PassManagerBuilder::OptLevel` function.
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 the `llvm::PassManagerBuilder::SizeLevel` function.
set_successor [Llvm] | `set_successor v i o` sets the successor of the value `v` at the index `i` to the value `o`.
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_unnamed_addr [Llvm] | `set_unnamed_addr b g` if `b` is `true`, sets the unnamed_addr attribute of the global value `g`.
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.
severity [Llvm.Diagnostic] | `severity d` returns the severity of `d`.
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_const [Llvm] | `string_of_const c` returns `Some str` if `c` is a string constant, or `None` if this is not a string constant.
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`.
subtypes [Llvm] | `subtypes ty` returns `ty`'s subtypes
succ [Llvm_target.Target] | `succ t` returns the next target after `t`, or `None` if `t` was the last target.
successor [Llvm] | `successor v i` returns the successor at index `i` for the value `v`.
successors [Llvm] | `successors v` returns the successors of `v`.
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`.
unnamed_addr [Llvm] | `unnamed_addr g` returns `true` if the global value `g` has the unnamed_addr attribute.
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 the `llvm::PassManagerBuilder::Inliner` function.
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`.
write_bitcode_to_memory_buffer [Llvm_bitwriter] | `write_bitcode_to_memory_buffer m` returns a memory buffer containing the bitcode for module `m`.
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`.