Ë
    øÇ:j  ã                   óX   — d dl mZ  G d„ de«      Z G d„ de«      Z G d„ de«      Zd„ Zy	)
é    )Ú	CallInstrc                   óT   — e Zd Zd„ Zd„ Zd„ Zd„ Zed„ «       Zed„ «       Z	ed„ «       Z
y)	ÚVisitorc                 óV   — || _         |j                  D ]  }| j                  |«       Œ y ©N)Ú_moduleÚ	functionsÚvisit_Function)ÚselfÚmoduleÚfuncs      úk/home/mcse/projects/srt_converter/srt-converter-venv/lib/python3.12/site-packages/llvmlite/ir/transforms.pyÚvisitzVisitor.visit   s,   € ØˆŒØ×$Ñ$ò 	&ˆDØ×Ñ Õ%ñ	&ó    c                 óV   — || _         |j                  D ]  }| j                  |«       Œ y r   )Ú	_functionÚblocksÚvisit_BasicBlock)r   r   Úbbs      r   r
   zVisitor.visit_Function
   s*   € ØˆŒØ—+‘+ò 	&ˆBØ×!Ñ! "Õ%ñ	&r   c                 óV   — || _         |j                  D ]  }| j                  |«       Œ y r   )Ú_basic_blockÚinstructionsÚvisit_Instruction)r   r   Úinstrs      r   r   zVisitor.visit_BasicBlock   s+   € ØˆÔØ—_‘_ò 	*ˆEØ×"Ñ" 5Õ)ñ	*r   c                 ó   — t         ‚r   ©ÚNotImplementedError©r   r   s     r   r   zVisitor.visit_Instruction   ó   € Ü!Ð!r   c                 ó   — | j                   S r   )r   ©r   s    r   r   zVisitor.module   s   € à�|‰|Ðr   c                 ó   — | j                   S r   )r   r!   s    r   ÚfunctionzVisitor.function   s   € à�~‰~Ðr   c                 ó   — | j                   S r   )r   r!   s    r   Úbasic_blockzVisitor.basic_block   s   € à× Ñ Ð r   N)Ú__name__Ú
__module__Ú__qualname__r   r
   r   r   Úpropertyr   r#   r%   © r   r   r   r      sR   „ ò&ò
&ò
*ò
"ð ñó ðð ñó ðð ñ!ó ñ!r   r   c                   ó   — e Zd Zd„ Zd„ Zy)ÚCallVisitorc                 óH   — t        |t        «      r| j                  |«       y y r   )Ú
isinstancer   Ú
visit_Callr   s     r   r   zCallVisitor.visit_Instruction%   s   € Ü�eœYÔ'Ø�O‰O˜EÕ"ð (r   c                 ó   — t         ‚r   r   r   s     r   r/   zCallVisitor.visit_Call)   r   r   N)r&   r'   r(   r   r/   r*   r   r   r,   r,   $   s   „ ò#ó"r   r,   c                   ó$   ‡ — e Zd Zˆ fd„Zd„ Zˆ xZS )ÚReplaceCallsc                 óT   •— t         t        | �  «        || _        || _        g | _        y r   )Úsuperr2   Ú__init__ÚorigÚreplÚcalls)r   r6   r7   Ú	__class__s      €r   r5   zReplaceCalls.__init__.   s%   ø€ ÜŒl˜DÑ*Ô,ØˆŒ	ØˆŒ	Øˆ�
r   c                 ó¤   — |j                   | j                  k(  r7|j                  | j                  «       | j                  j                  |«       y y r   )Úcalleer6   Úreplace_calleer7   r8   Úappendr   s     r   r/   zReplaceCalls.visit_Call4   s;   € Ø�<‰<˜4Ÿ9™9Ò$Ø× Ñ  §¡Ô+Ø�J‰J×Ñ˜eÕ$ð %r   )r&   r'   r(   r5   r/   Ú__classcell__)r9   s   @r   r2   r2   -   s   ø„ ôö%r   r2   c                 óT   — t        ||«      }|j                  | «       |j                  S )zlReplace all calls to `orig` to `repl` in module `mod`.
    Returns the references to the returned calls
    )r2   r   r8   )Úmodr6   r7   Úrcs       r   Úreplace_all_callsrB   :   s$   € ô 
�d˜DÓ	!€BØ‡H�HˆS„MØ�8‰8€Or   N)Úllvmlite.irr   Úobjectr   r,   r2   rB   r*   r   r   ú<module>rE      s2   ðÝ !ô!ˆfô !ô@"�'ô "ô
%�;ô 
%ór   