Initialization and finalization

You only need to call these functions once per process invocation.

  • llvmlite.binding.initialize()

    Initialize the LLVM core.

  • llvmlite.binding.initialize_all_targets()

    Initialize all targets. Must be called before targets can be looked up via the Target class.

  • llvmlite.binding.initialize_all_asmprinters()

    Initialize all code generators. Must be called before generating any assembly or machine code via the TargetMachine.emit_object() and TargetMachine.emit_assembly() methods.

  • llvmlite.binding.initialize_native_target()

    Initialize the native—host—target. Must be called once before doing any code generation.

  • llvmlite.binding.initialize_native_asmprinter()

    Initialize the native assembly printer.

  • llvmlite.binding.initialize_native_asmparser()

    Initialize the native assembly parser. Must be called for inline assembly to work.

  • llvmlite.binding.shutdown()

    Shut down the LLVM core.

  • llvmlite.binding.llvm_version_info

    A 3-integer tuple representing the LLVM version number.

    EXAMPLE: (3, 7, 1)

    Since LLVM is statically linked into the llvmlite DLL, this is guaranteed to represent the true LLVM version in use.