+
    :iX#                     ^   R t ^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RI	H
t ^ RIt^ RIHt ^ RIHt ^ RIHt ^ RIHt RtRtRt]P0                  ! ]P2                  ]P2                  ]P2                  4      t ! R	 R
]4      t ! R R]4      t]R8X  d   ]P<                  ! 4        R# R# )z
Tests for numba.core.codegen.
N)njit)JITCPUCodegen)global_compiler_lock)TestCasezb
    define i32 @sum(i32 %.1, i32 %.2) {
      %.3 = add i32 %.1, %.2
      ret i32 %.3
    }
    z
    define i32 @"__main__.ising_element_update$1.array(int8,_2d,_C).int64.int64"(i32 %.1, i32 %.2) {
      %.3 = add i32 %.1, %.2
      ret i32 %.3
    }
a  
    declare i32 @"__main__.ising_element_update$1.array(int8,_2d,_C).int64.int64"(i32 %.1, i32 %.2)

    define i32 @sum(i32 %.1, i32 %.2) {
      %.3 = call i32 @"__main__.ising_element_update$1.array(int8,_2d,_C).int64.int64"(i32 %.1, i32 %.2)
      ret i32 %.3
    }
c                      a  ] tR t^6t o RtR tR tRR lt]R 4       t	R t
R tR	 tR
 tR tR tR tR tR t]P(                  R 4       tRtV tR# )JITCPUCodegenTestCasez
Test the JIT code generation.
c                P    \         P                  ! 4        \        R 4      V n        R# )test_codegenN)r   acquirer   codegenselfs   &V/var/www/html/photoedit/myenv/lib/python3.14/site-packages/numba/tests/test_codegen.pysetUpJITCPUCodegenTestCase.setUp;   s    $$&$^4    c                4    V = \        P                  ! 4        R # N)r   r   releaser   s   &r   tearDownJITCPUCodegenTestCase.tearDown?   s    L$$&r   Nc                   V P                   P                  R 4      p\        P                  ! V4      pVP	                  4        VP                  V4       V'       dd   V P                   P                  R4      p\        P                  ! V4      pVP	                  4        VP                  V4       VP                  V4       V# )compiled_modulelinking_module)r   create_libraryllparse_assemblyverifyadd_llvm_moduleadd_linking_library)r   asmlinking_asmlibrary	ll_modulelinking_librarys   &&&   r   compile_module$JITCPUCodegenTestCase.compile_moduleC   s    ,,--.?@%%c*		*"ll99:JKO))+6I++I6''8r   c                    \        R 4      pVP                  V4      pVP                  R4      pV'       g   Q V4       h\        V4      pV! ^^4      pV^8X  g   Q V4       hR# )other_codegensumN)r   unserialize_libraryget_pointer_to_functionctypes_sum_ty)clsstater   r"   ptrcfuncress   &&     r   _check_unserialize_sum,JITCPUCodegenTestCase._check_unserialize_sumP   s]    0--e4--e4Csc"Aqkaxxr   c                   V P                  \        4      pVP                  R 4      pV P                  V\        4       \        V4      pV P                  V! ^^4      ^4       V P                  \        \        4      pVP                  R 4      pV P                  V\        4       \        V4      pV P                  V! ^^4      ^4       R# )r)   N)	r%   asm_sumr+   assertIsInstanceintr,   assertEqualasm_sum_outerasm_sum_inner)r   r"   r/   r0   library2s   &    r   test_get_pointer_to_function2JITCPUCodegenTestCase.test_get_pointer_to_functionZ   s    %%g.--e4c3'c"q!a( &&}mD..u5c3'c"q!a(r   c                    V P                   P                  4       p\        P                  ! V4       \	        R 4      pV P                  VP                  4       V4       R# )xxxN)r   magic_tuplepickledumpsr   r8   )r   tupcg2s   &  r   test_magic_tuple&JITCPUCodegenTestCase.test_magic_tuplel   sA    ll&&(SE"*C0r   c                (    V P                  V4       R # r   )r2   )r   r.   s   &&r   _check_serialize_unserialize2JITCPUCodegenTestCase._check_serialize_unserializet   s    ##E*r   c                   \         P                  ! \        P                  ! VR4      4      pR\	        V P
                  P                  R7      ,          p\        P                  ! \        P                  RW2P                  4       .4       R# )   a  if 1:
            import base64
            import pickle
            import sys
            from numba.tests.test_codegen import %(test_class)s

            state = pickle.loads(base64.b64decode(sys.argv[1]))
            %(test_class)s._check_unserialize_sum(state)
            )
test_classz-cN)base64	b64encoderA   rB   dict	__class____name__
subprocess
check_callsys
executabledecode)r   r.   argcodes   &&  r    _check_unserialize_other_process6JITCPUCodegenTestCase._check_unserialize_other_processw   s^    v||E267 $.."9"9:; 	s~~tT::<HIr   c                |    V P                  \        \        4      pVP                  4       pV P	                  V4       R # r   )r%   r9   r:   serialize_using_bitcoderH   r   r"   r.   s   &  r   "test_serialize_unserialize_bitcode8JITCPUCodegenTestCase.test_serialize_unserialize_bitcode   s0    %%m]C//1))%0r   c                |    V P                  \        \        4      pVP                  4       pV P	                  V4       R # r   )r%   r9   r:   r]   rZ   r^   s   &  r   &test_unserialize_other_process_bitcode<JITCPUCodegenTestCase.test_unserialize_other_process_bitcode   s0    %%m]C//1--e4r   c                    V P                  \        \        4      pVP                  4        VP	                  4       pV P                  V4       R # r   )r%   r9   r:   enable_object_cachingserialize_using_object_coderH   r^   s   &  r   &test_serialize_unserialize_object_code<JITCPUCodegenTestCase.test_serialize_unserialize_object_code   s<    %%m]C%%'335))%0r   c                    V P                  \        \        4      pVP                  4        VP	                  4       pV P                  V4       R # r   )r%   r9   r:   re   rf   rZ   r^   s   &  r   *test_unserialize_other_process_object_code@JITCPUCodegenTestCase.test_unserialize_other_process_object_code   s<    %%m]C%%'335--e4r   c           	        V P                  \        \        4      pVP                  4        VP	                  4       p\
        P                  ! RR7      ;_uu_ 4       pVP                  4       pVP                  4       pVP                  R4       RRR4       V P                  \        X4      ^ 4       \        R4      pVP                  V4      p\
        P                  ! RR7      ;_uu_ 4       p\
        P                  ! R4       V P                  XVP                  4       4       RRR4       V P                  \        V4      ^4       V P!                  R\#        V^ ,          P$                  4      4       \
        P                  ! RR7      ;_uu_ 4       p\
        P                  ! R4       V P                  VP                  4       X4       RRR4       V P                  \        V4      ^4       V P!                  R\#        V^ ,          P$                  4      4       \
        P                  ! RR7      ;_uu_ 4       p\
        P                  ! R4       V P'                  \(        4      ;_uu_ 4       pVP                  R4       RRR4       RRR4       V P                  \        V4      ^4       V P!                  R\#        V^ ,          P$                  4      4       V P!                  R\#        XP*                  4      4       R#   + '       g   i     ELu; i  + '       g   i     EL; i  + '       g   i     ELc; i  + '       g   i     L; i  + '       g   i     L; i)z	
        T)recordr)   Nr(   alwayszInspection disabled)r%   r9   r:   re   rf   warningscatch_warningsget_llvm_strget_asm_strget_function_cfgr8   lenr   r*   simplefilterassertNotEqualassertInstrmessageassertRaises	NameError	exception)r   r"   r.   wold_llvmold_asmr   raisess   &       r   test_cache_disabled_inspection4JITCPUCodegenTestCase.test_cache_disabled_inspection   sW    %%m]C%%'335 $$D11Q++-H))+G$$U+ 2 	Q#  0--e4 $$D11Q!!(+'*>*>*@A 2 	Q#+S1->?$$D11Q!!(+ 3 3 5w? 2 	Q#+S1->?$$D11Q!!(+""9--((/ . 2 	Q#+S1->?eS!1!123; 211 211 211 .- 21sH   2K8*7L7L 44M(L4	:M8L		L	 L1	4M?MM	c                d   V P                  \        \        4      pVP                  4        VP	                  4        VP                  4        \        P                  ! V4      p\        P                  ! VP                  4      p?V P                  V! 4       R 4       V P                  V! 4       R 4       R # r   )
r%   r9   r:   re   r]   rf   weakrefref_final_moduleassertIs)r   r"   uvs   &   r   test_library_lifetime+JITCPUCodegenTestCase.test_library_lifetime   s}    %%m]C%%''')++-KK KK--.ac4 ac4 r   )r   r   )rR   
__module____qualname____firstlineno____doc__r   r   r%   classmethodr2   r<   rE   rH   rZ   r_   rb   rg   rj   r   unittestexpectedFailurer   __static_attributes____classdictcell____classdict__s   @r   r   r   6   sv     5'  )$1+J1
5
15%4R ! !r   r   c                   &   a  ] tR t^t o R tRtV tR# )TestWrappersc                   \         R  4       pV! 4        VP                  ^ ,          pVP                  V,          pVP                  P                  P                  RR4      pRP                  V4      pRp\        P                  ! WV,           4      pVP                  V4      P                  4       p. p	V FD  p
VP                  V
4      pV'       g   K  V	P                  VP                  4       ^ ,          4       KF  	  V P                  \        V	4      ^4       V P                  V	^ ,          V	^,          4       RP                  V	^ ,          4      pRp\        P                  ! WV,           4      p\!        V4       Fi  p
VP                  V
4      pV'       g   K  VP                  4       ^ ,          pVP#                  4       P%                  R4      pV F  pRV9   g   K   M	  Kh   R
# 	  V P'                  R	4      # )c                      \        ^.4      # )rK   )list r   r   foo4TestWrappers.test_noinline_on_main_call.<locals>.foo   s    9r   $z\$z
.*call.*{}z.*(#[0-9]+).*z^attributes\s+{}z\s+=\s+{(.*)}.*$ noinlinez!Metadata did not match 'noinline'N)r   
signatures	overloadsfndescmangled_namereplaceformatrecompileinspect_llvm
splitlinesmatchappendgroupsr8   rt   reversedstripsplitfail)r   r   sigolnamep1p2	call_sitelinesmeta_data_idxlmatched	attr_site	meta_datalmetaxs   &               r   test_noinline_on_main_call'TestWrappers.test_noinline_on_main_call   s    
	 
	 	nnQ]]3yy%%--c59!!$'JJrw'	  %002Aooa(Gw$$W^^%5a%89  	]+Q/q)=+;< ''a(89 JJrw'	%Aooa(Gw#NN,Q/	!)//4A!Q   ! 99@AAr   r   N)rR   r   r   r   r   r   r   r   s   @r   r   r      s     0B 0Br   r   __main__)r   ro   rN   ctypesrA   r   rS   rU   r   llvmlite.bindingbindingr   r   numbar   numba.core.codegenr   numba.core.compiler_lockr   numba.tests.supportr   r5   r:   r9   	CFUNCTYPEc_intr,   r   r   rR   mainr   r   r   <module>r      s   
     	  
     , 9 (   v||V\\JY!H Y!x2B8 2Bj zMMO r   