
    shJ                        S r SSKrSSKrSSKrSSKrSSKJrJrJ	r	  SSK
JrJr  SSKJrJr  SSKJrJr  SSKJrJr  SSKJr  SS	KJr  SS
KJrJrJr  Sr\(       aV  \R>                  " S5      r \ RC                  \RD                  S9  \ RG                  \RH                  " \RJ                  5      5         " S S\5      r& " S S\&5      r' " S S\&5      r( " S S\\5      r)g)z
Tests for SSA reconstruction
    N)njitjittypes)errorsir)FunctionPassregister_pass)DefaultPassBuilderCompilerBase)ReconstructSSA
PreserveIR)NativeLowering)overload)MemoryLeakMixinTestCaseoverride_configFznumba.core.ssa)levelc                       \ rS rSrS rSrg)SSABaseTest   c                     U" [         R                  " U5      6 nUR                  " [         R                  " U5      6 nU R                  X45        g N)copydeepcopypy_funcassertEqual)selffuncargsgotexps        h/Users/tiagomarins/Projetos/claudeai/copy_bank/venv/lib/python3.13/site-packages/numba/tests/test_ssa.py
check_funcSSABaseTest.check_func   s:    DMM$'(llDMM$/0"     N)__name__
__module____qualname____firstlineno__r#   __static_attributes__r&   r%   r"   r   r      s    #r%   r   c                   N    \ rS rSrSrS rS rS rS rS r	S r
S	 rS
 rS rSrg)TestSSA%   z0
Contains tests to help isolate problems in SSA
c                 @    [         S 5       nU R                  US5        g )Nc                     U S-  n U $ N   r&   xs    r"   foo.TestSSA.test_argument_name_reused.<locals>.foo+   s    FAHr%   {   r   r#   r   r5   s     r"   test_argument_name_reused!TestSSA.test_argument_name_reused*   s$    		 
	 	S!r%   c                 h    [         S 5       nU R                  USS5        U R                  USS5        g )Nc                 $    X-  nX:  a  U nU$ UnU$ r   r&   )r4   yzs      r"   r5   *TestSSA.test_if_else_redefine.<locals>.foo3   s&    Au H Hr%         r8   r9   s     r"   test_if_else_redefineTestSSA.test_if_else_redefine2   s6    		 
	 	Q"Q"r%   c                 d    [         S 5       nU R                  US5        U R                  US5        g )Nc                 6    Sn[        U 5       H  nX-  nM	     U$ Nr   range)ncis      r"   r5   "TestSSA.test_sum_loop.<locals>.foo@   s!    A1X Hr%   r   
   r8   r9   s     r"   test_sum_loopTestSSA.test_sum_loop?   s2    		 
	 	QR r%   c                 d    [         S 5       nU R                  US5        U R                  US5        g )Nc                 D    SnU n[        U 5       H  nX-  nX -  nM     X4$ rG   rH   )rJ   rK   drL   s       r"   r5   (TestSSA.test_sum_loop_2vars.<locals>.fooK   s1    AA1X  4Kr%   r   rN   r8   r9   s     r"   test_sum_loop_2varsTestSSA.test_sum_loop_2varsJ   s2    		 
	 	QR r%   c                 d    [         S 5       nU R                  US5        U R                  US5        g )Nc                 b    Sn[        U 5       H  n[        U 5       H  nX-  nM	     X-  nM     U$ rG   rH   )rJ   rK   rL   js       r"   r5   %TestSSA.test_sum_2d_loop.<locals>.fooX   s8    A1XqAFA "  Hr%   r   rN   r8   r9   s     r"   test_sum_2d_loopTestSSA.test_sum_2d_loopW   s2    		 
	 	QR r%   c                    [         S 5       nU(       a`  U R                  [        R                  5       nU R	                  US5        S S S 5        U R                  S[        WR                  5      5        OU R	                  US5        U R                  [        5         UR                  S5        S S S 5        g ! , (       d  f       Nv= f! , (       d  f       g = f)Nc                 2    U (       a
  U S:  a  SnW$ WS-  nU$ Nr   r2   r&   )rJ   rK   s     r"   r5   (TestSSA.check_undefined_var.<locals>.fooe   s&    q5A Qr%   r2   z!Detected uninitialized variable cr   )r   assertWarnsr   NumbaWarningr#   assertInstrwarningassertRaisesUnboundLocalErrorr   )r   should_warnr5   warnss       r"   check_undefined_varTestSSA.check_undefined_vard   s    		 
	 !!&"5"56%Q' 7 MM=emm,. OOC#01KKN 21 76 21s   B6C6
C
Cc                     [        SS5         U R                  SS9  S S S 5        [        SS5         U R                  SS9  S S S 5        g ! , (       d  f       N3= f! , (       d  f       g = f)NALWAYS_WARN_UNINIT_VARr   F)rh   r2   T)r   rj   r   s    r"   test_undefined_varTestSSA.test_undefined_var|   sW    5q9$$$7 :5q9$$$6 :9 :999s   A
A

A
A)c                 l    [         S 5       nU R                  U[        R                  " SS/5      5        g )Nc                 *   SnSnSnUS:  a  U[        U 5      :  av  US-  nX   (       aM  X   (       a  X   (       a  US-  nX==   S-  ss'   OX   (       a  US-  nX==   S-  ss'   X1-  nX   (       a  MM  X1-  nUS:  a  U[        U 5      :  a  Mv  X14$ )Nr2   r   rN      )len)actionsrJ   rL   cts       r"   r5   )TestSSA.test_phi_propagation.<locals>.foo   s    AABa%AG,Qjz":GA
a
":GA
a
GB jj  a%AG, 5Lr%   r2   rB   )r   r#   nparrayr9   s     r"   test_phi_propagationTestSSA.test_phi_propagation   s1    		 
	, 	RXXq!f-.r%   c                 n    S nU" SSSSS5      n[        U5      " SSSSS5      nU R                  X#5        g )Nc                     U (       a	  UnUnUnU ng U(       a  U(       a  Un	g Wn
g U(       a$  W(       a  U(       a  W
ng UnU$ W(       a  UnU $ Wn
W$ Wng r   r&   )arg1arg2arg3arg4arg5var1var2var3var4var5var6var7var8var9var10s                  r"   	function13TestSSA.test_unhandled_undefined.<locals>.function1   sr    ## #'+ &'+'+  $'+'+'+'+  $r%   rB   rA      r      )r   r   )r   r   expectr    s       r"   test_unhandled_undefined TestSSA.test_unhandled_undefined   s@    *	\ 1aAq)9oaAq!,%r%   r&   N)r'   r(   r)   r*   __doc__r:   rC   rO   rU   r[   rj   ro   rz   r   r+   r&   r%   r"   r-   r-   %   s4    "#	!!!07/41&r%   r-   c                   h    \ rS rSrS rS rS rS rS rS r	S r
S	 rS
 rS rS rS rS rS rSrg)TestReportedSSAIssues   c                 >    [         S 5       nU R                  U5        g )Nc                      [         R                  " S5      n [         R                  " S5      n[        U5       H  nSX'   M	     [        US5       H  nM     g r1   )rx   emptyuint32rI   )VsrL   s      r"   r5   1TestReportedSSAIssues.test_issue2194.<locals>.foo   sD    A		!A1X 1a[ !r%   r8   r9   s     r"   test_issue2194$TestReportedSSAIssues.test_issue2194   s"    		 
	 	r%   c                 `   ^ [         S 5       m[         U4S j5       nU R                  US5        g )Nc                     U $ r   r&   r3   s    r"   doit2TestReportedSSAIssues.test_issue3094.<locals>.doit   s    Hr%   c                 ,   > U (       a  SnOSnT" U5      $ )NTFr&   )predr4   r   s     r"   r5   1TestReportedSSAIssues.test_issue3094.<locals>.foo   s    7Nr%   Fr8   )r   r5   r   s     @r"   test_issue3094$TestReportedSSAIssues.test_issue3094   s9    		 
	 
	 
	 	U#r%   c                     [         S 5       n[        R                  R                  U" [        R                  " S5      5      UR                  [        R                  " S5      5      5        g )Nc                 p    [        S5       H&  nU R                  S5      n U R                  SS5      n M(     U $ )Nr2   r   rA   rB   )rI   reshape)arrrL   s     r"   r5   1TestReportedSSAIssues.test_issue3931.<locals>.foo   s5    1Xkk%(kk!Q'  Lr%   )rA   rB   )r   rx   testingassert_allclosezerosr   r9   s     r"   test_issue3931$TestReportedSSAIssues.test_issue3931   sN    		 
	 	

""3rxx'7#8#&;;rxx/?#@	Br%   c                 v   ^ S m[         U4S j5       n[        T5      U4S j5       nU R                  US5        g )Nc                     g)Ndummyr&   )as    r"   overload_this;TestReportedSSAIssues.test_issue3976.<locals>.overload_this  s    r%   c                 2   > U (       a  SnT" U5      nU$ SnU$ )N   br&   )r   r   r   s     r"   r5   1TestReportedSSAIssues.test_issue3976.<locals>.foo  s(    !!$ H Hr%   c                    > T$ r   r&   )r   r   s    r"   ol0TestReportedSSAIssues.test_issue3976.<locals>.ol  s	      r%   T)r   r   r#   )r   r5   r   r   s      @r"   test_issue3976$TestReportedSSAIssues.test_issue3976   sE    	 
	 
	 
-	 	! 
!	! 	T"r%   c                 B    [         S 5       nU R                  USS5        g )Nc                 H    U S   nUS   nU  H  nUnM     U H  nUnM     X#4$ rG   r&   )ABr4   r>   rL   s        r"   r5   1TestReportedSSAIssues.test_issue3979.<locals>.foo  s9    !A!A  4Kr%   )r2   rB   )r   r   r8   r9   s     r"   test_issue3979$TestReportedSSAIssues.test_issue3979  s&    		 
	 	VZ0r%   c                 z   ^ SS jm[        T5      SS j5       n[        U4S j5       nU R                  USS5        g )Nc                 :    [        U[        5      (       a  US   nU$ rG   )
isinstancetuple)r   r   s     r"   r   ;TestReportedSSAIssues.test_issue5219.<locals>.overload_this$  s    !U##aDHr%   c                 l   ^ [        U[        R                  [        R                  45      mSU4S jjnU$ )Nc                    > TSL a  US   nU$ )NTr   r&   )r   r   
b_is_tuples     r"   impl>TestReportedSSAIssues.test_issue5219.<locals>.ol.<locals>.impl-  s    %!Ar%   r   )r   r   TupleUniTuple)r   r   r   r   s      @r"   r   0TestReportedSSAIssues.test_issue5219.<locals>.ol)  s(    #AU^^'DEJ Kr%   c                    > T" X5        g r   r&   )r   r   r   s     r"   
test_tuple8TestReportedSSAIssues.test_issue5219.<locals>.test_tuple3  s    !r%   r2   )rB   r   )r   r   r#   )r   r   r   r   s      @r"   test_issue5219$TestReportedSSAIssues.test_issue5219"  sG    	
 
-	 	 
!	 
	  
	  	
Au-r%   c                     [         S 5       n[        R                  " S5      nSUR                  l        [        R
                  R                  U" U5      UR                  U5      5        g )Nc                     [        U 5      S:X  a  U $ U R                  5       n [        [        U 5      5       H  nX==   S-  ss'   M     U $ )Nr   r2   )rt   r   rI   )r4   rL   s     r"   bar1TestReportedSSAIssues.test_issue5223.<locals>.bar;  s?    1v{A3q6]	 #Hr%   r   F)r   rx   onesflags	writeabler   r   r   )r   r   r   s      r"   test_issue5223$TestReportedSSAIssues.test_issue52239  sO    		 
	 GGAJ!


""3q63;;q>:r%   c                 h    [         S 5       nU R                  U[        R                  " S5      5        g )Nc                 t    [         R                  " S5      n[         R                  " S5      nU S   US'   US   $ )N)g?g333333?g333333?)rA   rA   )r   r   r   )rx   ry   r   )qlinstencils      r"   r5   1TestReportedSSAIssues.test_issue5243.<locals>.fooK  s4    ((?+Chhv&GdGGDMq6Mr%   )rB   rB   )r   r#   rx   r   r9   s     r"   test_issue5243$TestReportedSSAIssues.test_issue5243I  s-    		 
	 	RXXf-.r%   c                 &    [        S5      S 5       ng )N(intp, intp, intp)c                 d    [        U5       H   nUS:X  a  X0:X  a  M  UnM  X0:X  a  M  WU-   nM"     W$ rG   rH   r4   vrJ   rL   problematics        r"   r5   GTestReportedSSAIssues.test_issue5482_missing_variable_init.<locals>.fooW  s=    1X6v&'v&1Ao  r%   )r   r9   s     r"   $test_issue5482_missing_variable_init:TestReportedSSAIssues.test_issue5482_missing_variable_initT  s     
"	#	 
$	r%   c                 |   ^^^^ SSK JnJm  SSKJmJm  SSKJm   " UUUU4S jSU5      n[        SSUS	9S
 5       ng )Nr   r   r
   )r   IRProcessing)PreLowerStripPhisc                   (   > \ rS rSrU UUU4S jrSrg)WTestReportedSSAIssues.test_issue5482_objmode_expr_null_lowering.<locals>.CustomPipelinein  c                    > TR                   " U R                  5      nUR                  TT5        UR                  TT5        UR                  5         U/$ r   )define_objectmode_pipelinestateadd_pass_afterfinalize)r   pmr
   r   r   r   s     r"   define_pipelineshTestReportedSSAIssues.test_issue5482_objmode_expr_null_lowering.<locals>.CustomPipeline.define_pipelineso  sH    'BB4::N!!.,?!!"3^Dtr%   r&   Nr'   r(   r)   r*   r  r+   )r
   r   r   r   s   r"   CustomPipeliner   n  s     r%   r  r   F)loopliftpipeline_classc                 b    [        U5       H  nX2:X  a  X0:X  a  M  UnM  X0:X  a  M  WU-   nM!     W$ r   rH   r   s        r"   r5   LTestReportedSSAIssues.test_issue5482_objmode_expr_null_lowering.<locals>.foow  s=     1X6v&'v&1Ao  r%   )	numba.core.compilerr   r
   numba.core.untyped_passesr   r   numba.core.typed_passesr   r   )r   r   r  r5   r
   r   r   r   s       @@@@r"   )test_issue5482_objmode_expr_null_lowering?TestReportedSSAIssues.test_issue5482_objmode_expr_null_loweringf  sA     	IJ=	 	\ 	 
!E*
,	
,	r%   c                   ^^ [         R                  " S5      [         R                  " S5      4n[         R                  " S5      m[         R                  " S5      mUU4S jnU" SSU5      n[        U5      " SSU5      n[        SSS9" U5      " SSU5      n[         R                  R                  X45        [         R                  R                  X55        g )	NrB   r2   )r2   r2   c                   > [        U5      S:X  a  US   nO&US   n[        S[        U5      5       H  nUT-  nM
     [        SU 5       H:  n[        U5       H(  nT	nUS:X  a  XaS-
  :X  a  M  UnM  XaS-
  :X  a  M#  WU-   nM*     M<     W$ )Nr2   r   )rt   rI   )
mrJ   datav0_tidxr   r   r   s
           r"   r5   >TestReportedSSAIssues.test_issue5493_unneeded_phi.<locals>.foo  s    4yA~!W!Wq#d),A!GB - 1a[ 8CAaxa%< *+Ka%< *5/K $ ! r%   rN   TF)forceobjr  )rx   r   r   r   r   assert_array_equal)r   r  r5   r   res1res2r   r   s         @@r"   test_issue5493_unneeded_phi1TestReportedSSAIssues.test_issue5493_unneeded_phi  s     
BGGAJ'GGAJGGEN	2 RT"CyR&D51#6r2tD


%%f3


%%f3r%   c                 L   S n[         R                  " SS/5      nU" SU5        [         R                  " SS/5      n[        U5      " SU5        [         R                  " SS/5      n[         R                  R	                  X$5        [         R                  R	                  X45        g )Nc                 <    SnSnU SL a  X1U'   US-  nX1U'   US-  ng g )Nr   r2   Tr&   )r   stackrL   rK   s       r"   r5   MTestReportedSSAIssues.test_issue5623_equal_statements_in_same_bb.<locals>.foo  s8    AAt|aQaQ	 r%   r   i  Tr2   )rx   ry   r   r   r  )r   r5   pythonnbr   s        r"   *test_issue5623_equal_statements_in_same_bb@TestReportedSSAIssues.test_issue5623_equal_statements_in_same_bb  s{    	 1c(#D&XXq#hS	$1a&!


%%f5


%%b1r%   c                   ^ ^^^^	 SSK JnJm  SSKJmJnJn  / m	U" SSS9 " U	U 4S jSU5      5       m " UUU4S	 jS
U5      n[        US9SS j5       nT R                  U" S5      UR                  S5      5        T R                  T	S/5        g )Nr   r   )r   r   r	   FTmutates_CFGanalysis_onlyc                   j   >^  \ rS rSr YR                  R                  S-   rU 4S jrU4S jrSrU =r	$ )MTestReportedSSAIssues.test_issue5678_non_minimal_phi.<locals>.CheckSSAMinimali  z.CheckSSAMinimalc                 $   > [         TU ]  U 5        g r   )super__init__)r   	__class__s    r"   r.  VTestReportedSSAIssues.test_issue5678_non_minimal_phi.<locals>.CheckSSAMinimal.__init__  s     &r%   c           	         > SnUR                   R                  R                  5        H)  nU[        [	        UR                  S5      5      5      -  nM+     TR                  U5        g)Nr   phiT)func_irblocksvaluesrt   list
find_exprsappend)r   r   rv   blkphi_counters       r"   run_passVTestReportedSSAIssues.test_issue5678_non_minimal_phi.<locals>.CheckSSAMinimal.run_pass  sS     ==//668C#d3>>%#89::B 9""2&r%   r&   )
r'   r(   r)   r*   r/  _namer.  r;  r+   __classcell__)r/  r:  r   s   @r"   CheckSSAMinimalr+    s)     NN//2DDE' r%   r?  c                   &   > \ rS rSrU UU4S jrSrg)LTestReportedSSAIssues.test_issue5678_non_minimal_phi.<locals>.CustomPipelinei  c                    > TR                   " U R                  5      nUR                  TT5        UR                  5         U/$ r   )define_nopython_pipeliner   r   r   )r   r  r?  r
   r   s     r"   r  ]TestReportedSSAIssues.test_issue5678_non_minimal_phi.<locals>.CustomPipeline.define_pipelines  s7    '@@L!!/>Btr%   r&   Nr  )r?  r
   r   s   r"   r  rA    s     r%   r  r  r2   c                     [         R                  " X 45      nSnX1::  aJ  [        [        U5      5       H&  n[        [        U5      5       H  nXE-   X$U4'   M     M(     US-  nX1::  a  MJ  U$ r_   )rx   r   rI   rt   )rJ   max_iterr   rL   rY   ks         r"   	while_forGTestReportedSSAIssues.test_issue5678_non_minimal_phi.<locals>.while_for  se    !AA-s1vA"3q6]!"A# + ' Q	 -
 Hr%   rN   )r2   )r
  r   r
   r  r   r   r	   r   assertPreciseEqualr   r   )
r   r   r   r	   r  rI  r?  r
   r   r:  s
   `     @@@@r"   test_issue5678_non_minimal_phi4TestReportedSSAIssues.test_issue5678_non_minimal_phi  s     	I	
 	
 	5	=	 	l 	 
>		 	\ 	 
^	,	 
-	 		"y/@/@/DEqc*r%   c                    ^ ^^^ SSK Jn  SSKJmJn  SU4U 4S jjmU" SSS9 " UU4S	 jS
T5      5       m " U4S jS[
        5      n[        US9S 5       nU" S5        g )Nr   )
FunctionIR)AnalysisPassr	   firc                    > U R                   R                  5       tpUR                  R                  S5      nU R	                  U5      nTR                  UR                  S5        TR                  [        R                  UR                  5        g )NrS   r2  )r4  r5  scopegetget_definitionr   oprc   r   	UNDEFINEDincoming_values)rQ  r9  r  vardefnr   s        r"   checkCTestReportedSSAIssues.test_issue9242_use_not_dom_def.<locals>.check  se    

))+IS))--$C%%c*DTWWe,MM",,(<(<=r%   FTr'  c                   6   > \ rS rSrSrSrU 4S jrU4S jrSrg)FTestReportedSSAIssues.test_issue9242_use_not_dom_def.<locals>.SSAChecki  z
Check SSA on variable `d`
	SSA_Checkc                 (   > TR                  U 5        g r   )r.  )r   rP  s    r"   r.  OTestReportedSSAIssues.test_issue9242_use_not_dom_def.<locals>.SSACheck.__init__  s    %%d+r%   c                 *   > T" UR                   5        g)NF)r3  )r   r   r[  s     r"   r;  OTestReportedSSAIssues.test_issue9242_use_not_dom_def.<locals>.SSACheck.run_pass  s    emm$r%   r&   N)	r'   r(   r)   r*   r   r=  r.  r;  r+   )rP  r[  s   r"   SSACheckr^    s      E, r%   rd  c                   &   > \ rS rSrSrU 4S jrSrg)NTestReportedSSAIssues.test_issue9242_use_not_dom_def.<locals>.SSACheckPipelinei  zFInject SSACheck pass into the default pipeline following the SSA
pass
c                    > [         R                  " U R                  S5      nSUl        UR	                  T[
        5        UR                  5         U/$ )Nssa_check_custom_pipelineF)r
   rC  r   
_finalizedr   r   r   )r   pipelinerd  s     r"   r  _TestReportedSSAIssues.test_issue9242_use_not_dom_def.<locals>.SSACheckPipeline.define_pipelines  sK    -FFJJ ;= ',#''.A!!# z!r%   r&   N)r'   r(   r)   r*   r   r  r+   )rd  s   r"   SSACheckPipelinerf    s    " "r%   rl  rE  c                 @    U S:  nU(       a  U S-   nU=(       a    WS:  $ )Nr   r   r&   )r   rK   rS   s      r"   r   ETestReportedSSAIssues.test_issue9242_use_not_dom_def.<locals>.py_func!  s%    AAE;Qr%   rN   )numba.core.irrO  numba.core.compiler_machineryrP  r	   r   r   )r   rO  r	   rl  r   rP  rd  r[  s   `    @@@r"   test_issue9242_use_not_dom_def4TestReportedSSAIssues.test_issue9242_use_not_dom_def  sm    ,	

	>z 	> 
5	=	 	| 	 
>		"| 	" 
-	.	 
/	 	r%   r&   N)r'   r(   r)   r*   r   r   r   r   r   r   r   r   r   r  r  r$  rL  rq  r+   r&   r%   r"   r   r      sL    $"
B#*1..; 	/$B$4L2./+b4r%   r   c                       \ rS rSrS rSrg)TestSROAIssuesi,  c                 Z  ^	^
 / m
[        SSS9 " U
4S jS[        5      5       m	 " U	4S jS[        5      n[        US9S	 5       n[        R
                  " S
5      nU R                  U" U5      US-   5        U R                  [        T
5      S5        U R                  T
S   R                  R                  S5        UR                  UR                  S      R                  S   nU R                  [        UR                  5      SS5        UR                  R                  5       u  nUR!                  ["        R$                  5      nU Vs/ s H!  nUR                  R                  S:X  d  M  UPM#     nnU R                  [        U5      SS5        U R                  US   US   S5        g s  snf )NFT)r)  r(  c                   ,   > \ rS rSrSrS rU 4S jrSrg)ZTestSROAIssues.test_issue7258_multiple_assignment_post_SSA.<locals>.CloneFoobarAssignmentsi7  clone_foobar_assignments_passc                 0    [         R                  " U 5        g r   )r   r.  rn   s    r"   r.  cTestSROAIssues.test_issue7258_multiple_assignment_post_SSA.<locals>.CloneFoobarAssignments.__init__<  s    %%d+r%   c                   > SnUR                   R                  R                  5        H  n/ nUR                  [        R
                  5       H0  nUR                  R                  S:X  d  M  UR                  U5        M2     U H=  n[        R                  " U5      nUR                  Xe5        SnTR                  U5        M?     M     U$ )NFfoobarT)r3  r4  r5  
find_instsr   Assigntargetnamer8  r   r   insert_after)r   r   mutatedr9  to_cloneassignclonecloneds          r"   r;  cTestSROAIssues.test_issue7258_multiple_assignment_post_SSA.<locals>.CloneFoobarAssignments.run_pass?  s     ==//668C!H"%..";!==--9$OOF3 #< #+ $f 5((7"&e, #+ 9 r%   r&   N)r'   r(   r)   r*   r=  r.  r;  r+   )r  s   r"   CloneFoobarAssignmentsrw  7  s     4E, r%   r  c                   "   > \ rS rSrU 4S jrSrg)RTestSROAIssues.test_issue7258_multiple_assignment_post_SSA.<locals>.CustomCompileriP  c                    > [         R                  " U R                  S5      nSUl        UR	                  T[
        5        UR	                  [        [        5        UR                  5         U/$ )Ncustom_pipelineF)	r
   rC  r   ri  r   r   r   r   r   )r   r  r  s     r"   r  cTestSROAIssues.test_issue7258_multiple_assignment_post_SSA.<locals>.CustomCompiler.define_pipelinesQ  sW    '@@JJ 1 !&!!"8.I!!*n=tr%   r&   Nr  )r  s   r"   CustomCompilerr  P  s    
 
r%   r  rE  c                     U S-   nU$ r1   r&   )r   r|  s     r"   udtGTestSROAIssues.test_issue7258_multiple_assignment_post_SSA.<locals>.udt]  s    1WFMr%   rN   r2   r   r|  preserved_irzonly one blockrB   z0expected two assignment statements into 'foobar'z5expected the two assignment statements to be the same)r	   r   r   r   rx   arangerK  r   rt   r  r  	overloads
signaturesmetadatar4  r5  r}  r   r~  )r   r  r  r   nirr9  assignsstmtfoobar_assignsr  r  s            @@r"   +test_issue7258_multiple_assignment_post_SSA:TestSROAIssues.test_issue7258_multiple_assignment_post_SSA1  s~    	U	=	\ 	 
>	0	\ 	 
^	,	 
-	 iimC#'2Va())..9mmCNN1-.77GSZZ!)	+

!!#..++2 ;74![[--9 7 ;>	
 	1~a0C	
;s   F(*F(r&   N)r'   r(   r)   r*   r  r+   r&   r%   r"   rt  rt  ,  s    
F
r%   rt  )*r   sysr   loggingnumpyrx   numbar   r   r   
numba.corer   r   rp  r   r	   r
  r
   r   r  r   r   r  r   numba.extendingr   numba.tests.supportr   r   r   _DEBUG	getLogger
ssa_loggersetLevelDEBUG
addHandlerStreamHandlerstderrr   r-   r   rt  r&   r%   r"   <module>r     s        " " ! E @ @ 2 $ J J 
	""#34Jgmm,'//

;<#( #h&k h&VYK Yx
K
_h K
r%   