
    pi                     (    d Z ddlmZ ddZ	 	 ddZy)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                 (    | dkD  ry|dk(  ry|dk(  ryy)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     Z/opt/services/ai/voice_agent/venv/lib/python3.12/site-packages/numba/core/llvm_bindings.py_inlining_thresholdr      s)     !| A~ A~    c                     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   