Skip to content

Latest commit

 

History

History
54 lines (30 loc) · 1.34 KB

initialization-finalization.rst

File metadata and controls

54 lines (30 loc) · 1.34 KB

Initialization and finalization

.. 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.