
    0;ji                     *    d Z ddlmZ ddZ	 	 d	dZdS )
aH  
Useful options to debug LLVM passes

llvm.set_option("test", "-debug-pass=Details")
llvm.set_option("test", "-debug-pass=Executions")
llvm.set_option("test", "-debug-pass=Arguments")
llvm.set_option("test", "-debug-pass=Structure")
llvm.set_option("test", "-debug-only=loop-vectorize")
llvm.set_option("test", "-help-hidden")

    )bindingc                 6    | dk    rdS |dk    rdS |dk    rdS dS )z
    Compute the inlining threshold for the desired optimisation level

    Refer to http://llvm.org/docs/doxygen/html/InlineSimple_8cpp_source.html
       i     K          )optlevel	sizelevels     R/root/voice-cloning/.venv/lib/python3.11/site-packages/numba/core/llvm_bindings.py_inlining_thresholdr      s7     !||s A~~r A~~r3    r   Fc                 |    t          j                    }||_        ||_        ||_        t          j        | |          S )zV
    Create an LLVM pass builder with the desired optimisation level and options.
    )llvmcreate_pipeline_tuning_optionsspeed_levelslp_vectorizationloop_vectorizationcreate_pass_builder)tmoptloop_vectorizeslp_vectorizeptos        r   r   r   $   s>    
 
-
/
/CCO)C+C #B,,,r   N)r   )r   FF)__doc__llvmliter   r   r   r   r
   r   r   <module>r      s]   
 
 % $ $ $ $ $   ( 38&+- - - - - -r   