§
    �Ûg  ã                   ól   — d dl mZ  G d„ de¦  «        Z G d„ de¦  «        Z G d„ de¦  «        Zd„ Zd	S )
é    )Ú	CallInstrc                   óh   — e Zd Zd„ Zd„ Zd„ Zd„ Zed„ ¦   «         Zed„ ¦   «         Z	ed„ ¦   «         Z
dS )	ÚVisitorc                 óR   — || _         |j        D ]}|                      |¦  «         Œd S ©N)Ú_moduleÚ	functionsÚvisit_Function)ÚselfÚmoduleÚfuncs      úL/granary/edev/quantum/lib/python3.11/site-packages/llvmlite/ir/transforms.pyÚvisitzVisitor.visit   s<   € ØˆŒØÔ$ð 	&ð 	&ˆDØ×Ò Ñ%Ô%Ð%Ð%ð	&ð 	&ó    c                 óR   — || _         |j        D ]}|                      |¦  «         Œd S r   )Ú	_functionÚblocksÚvisit_BasicBlock)r   r   Úbbs      r   r
   zVisitor.visit_Function
   s;   € ØˆŒØ”+ð 	&ð 	&ˆBØ×!Ò! "Ñ%Ô%Ð%Ð%ð	&ð 	&r   c                 óR   — || _         |j        D ]}|                      |¦  «         Œd S 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      s¡   € € € € € ð&ð &ð &ð
&ð &ð &ð
*ð *ð *ð
"ð "ð "ð ðð ñ „Xðð ðð ñ „Xðð ð!ð !ñ „Xð!ð !ð !r   r   c                   ó   — e Zd Zd„ Zd„ ZdS )ÚCallVisitorc                 ó^   — t          |t          ¦  «        r|                      |¦  «         d S d S r   )Ú
isinstancer   Ú
visit_Callr   s     r   r   zCallVisitor.visit_Instruction%   s6   € Ý�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,   $   s2   € € € € € ð#ð #ð #ð"ð "ð "ð "ð "r   r,   c                   ó$   ‡ — e Zd Zˆ fd„Zd„ Zˆ xZS )ÚReplaceCallsc                 ó€   •— t          t          | ¦  «                             ¦   «          || _        || _        g | _        d S r   )Úsuperr2   Ú__init__ÚorigÚreplÚcalls)r   r6   r7   Ú	__class__s      €r   r5   zReplaceCalls.__init__.   s8   ø€ Ý�l˜DÑ!Ô!×*Ò*Ñ,Ô,Ð,ØˆŒ	ØˆŒ	ØˆŒ
ˆ
ˆ
r   c                 ó’   — |j         | j        k    r6|                     | j        ¦  «         | j                             |¦  «         d S d S r   )Úcalleer6   Úreplace_calleer7   r8   Úappendr   s     r   r/   zReplaceCalls.visit_Call4   sK   € ØŒ<˜4œ9Ò$Ð$Ø× Ò  ¤Ñ+Ô+Ð+ØŒJ×Ò˜eÑ$Ô$Ð$Ð$Ð$ð %Ð$r   )r&   r'   r(   r5   r/   Ú__classcell__)r9   s   @r   r2   r2   -   sG   ø€ € € € € ðð ð ð ð ð%ð %ð %ð %ð %ð %ð %r   r2   c                 óZ   — t          ||¦  «        }|                     | ¦  «         |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„M€MØŒ8€Or   N)Úllvmlite.irr   Úobjectr   r,   r2   rB   r*   r   r   ú<module>rE      s¯   ðØ !Ð !Ð !Ð !Ð !Ð !ð!ð !ð !ð !ð !ˆfñ !ô !ð !ð@"ð "ð "ð "ð "�'ñ "ô "ð "ð
%ð 
%ð 
%ð 
%ð 
%�;ñ 
%ô 
%ð 
%ðð ð ð ð r   