
    |h                     ,    S r SSKJr  SS jr  SS jrg)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                 .    U S:  a  gUS:X  a  gUS:X  a  gg)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/home/james-whalen/.local/lib/python3.13/site-packages/numba/core/llvm_bindings.py_inlining_thresholdr      s)     !| A~ A~    c                 |    [         R                  " 5       nXl        X4l        X$l        [         R
                  " X5      $ )zN
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   $   s6    
 
-
-
/CO)+ ##B,,r   N)r   )r   FF)__doc__llvmliter   r   r   r   r
   r   r   <module>r      s!   
 %( 38&+-r   