o
    i;                     @   sl   d dl mZ d dlmZ dd Zdd Zdd Zd	d
 Zdd Zdd Z	dd Z
eejj_dd Ze ZdS )    )c_uint)ffic                   C      t j  dS )z#
    Initialize the LLVM core.
    N)r   libLLVMPY_InitializeCore r   r   V/home/ubuntu/veenaModal/venv/lib/python3.10/site-packages/llvmlite/binding/initfini.py
initialize      r	   c                   C   s"   t j  t j  t j  dS )zn
    Initialize all targets. Necessary before targets can be looked up
    via the :class:`Target` class.
    N)r   r   LLVMPY_InitializeAllTargetInfosLLVMPY_InitializeAllTargetsLLVMPY_InitializeAllTargetMCsr   r   r   r   initialize_all_targets   s   

r   c                   C   r   )z
    Initialize all code generators. Necessary before generating
    any assembly or machine code via the :meth:`TargetMachine.emit_object`
    and :meth:`TargetMachine.emit_assembly` methods.
    N)r   r   LLVMPY_InitializeAllAsmPrintersr   r   r   r   initialize_all_asmprinters   s   r   c                   C   r   )z_
    Initialize the native (host) target.  Necessary before doing any
    code generation.
    N)r   r   LLVMPY_InitializeNativeTargetr   r   r   r   initialize_native_target    s   r   c                   C   r   )z,
    Initialize the native ASM printer.
    N)r   r   !LLVMPY_InitializeNativeAsmPrinterr   r   r   r   initialize_native_asmprinter(   r
   r   c                   C   r   )z+
    Initialize the native ASM parser.
    N)r   r    LLVMPY_InitializeNativeAsmParserr   r   r   r   initialize_native_asmparser/   r
   r   c                   C   s   t j  d S )N)r   r   LLVMPY_Shutdownr   r   r   r   shutdown6   s   r   c                  C   s8   g } t j }|r| |d@  |dL }|s	tt| S )N      )r   r   LLVMPY_GetVersionInfoappendtuplereversed)vxr   r   r   _version_info@   s   
r!   N)ctypesr   llvmlite.bindingr   r	   r   r   r   r   r   r   r   r   restyper!   llvm_version_infor   r   r   r   <module>   s    
	

	