.. currentmodule:: llvmlite.binding
You only need to call these functions once per process invocation.
.. function:: initialize() Initialize the LLVM core.
.. function:: initialize_all_targets() Initialize all targets. Must be called before targets can be looked up via the :class:`Target` class.
.. function:: initialize_all_asmprinters() Initialize all code generators. Must be called before generating any assembly or machine code via the :meth:`TargetMachine.emit_object` and :meth:`TargetMachine.emit_assembly` methods.
.. function:: initialize_native_target() Initialize the native---host---target. Must be called once before doing any code generation.
.. function:: initialize_native_asmprinter() Initialize the native assembly printer.
.. function:: initialize_native_asmparser() Initialize the native assembly parser. Must be called for inline assembly to work.
.. function:: shutdown() Shut down the LLVM core.
.. data:: 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.