
    9i\                     .   S SK r S SKrS SKrS SKrS SKrS SKrS SKJrJr  S SK	J
r
  S SKJr  S SKJr  S SKJr  \
" SSS	5      r\R$                  R'                  \5      r\R$                  R-                  \S
5      r " S S\5      rS rS0 \4S jrS rS rg)    N)	ASTSourcemake_backend)	GPUTarget)GluonASTSource)create_function_from_signature)ircudad       	FileCheckc                   4   ^  \ rS rSrU 4S jrU 4S jrSrU =r$ )
MatchError   c                 0   > [         TU ]  U5        X l        g N)super__init__
module_str)selfmessager   	__class__s      Q/var/www/html/land-doc-ocr/venv/lib/python3.13/site-packages/triton/_filecheck.pyr   MatchError.__init__   s    !$    c                 >   > [         TU ]  5        SU R                   3$ )N
)r   __str__r   )r   r   s    r   r   MatchError.__str__   s!    '/#$Bt&788r   )r   )__name__
__module____qualname____firstlineno__r   r   __static_attributes____classcell__)r   s   @r   r   r      s    %9 9r   r   c                    [         R                  " 5        n[        R                  R	                  US5      n[        US5       nUR                  U5        S S S 5        [        R                  R	                  US5      n[        US5       nUR                  U5        S S S 5         [        R                  " [        USUS/[        R                  S9   S S S 5        g ! , (       d  f       N= f! , (       d  f       NV= f! [        R                   a+  nUR                  R                  S5      n[        U5      eS nAff = f! , (       d  f       g = f)Nmodulewexpectedz--input-filez--dump-input-context=50)stderrunicode_escape)tempfileTemporaryDirectoryospathjoinopenwrite
subprocesscheck_outputfilecheck_pathSTDOUTCalledProcessErroroutputdecode
ValueError)	namer   check_templatetempdirtemp_moduletemptemp_expectederrordecodeds	            r   run_filecheckrB   #   s    		$	$	&'ggll7H5+s#tJJz" $ Wj9-%JJ~& &	&##Mfg!((* 
'	&## &% ,, 	&ll))*:;GW%%	& 
'	&sY   -D>C4D>	C+D>$,C<
C(	$D>+
C9	5D><D;&D66D;;D>>
E c                 0   SU;  a  [        U5      nSUS'   [        U5      n[        U R                  U R                  U5      nU" U0 UD6u  pgnU R                  XBXgU5      u  ppU R                  5       (       a  [        O[        nU" X	X5      n[        R                  " 5       n[        R                  " U5        UR                  U5        UR                  U5      nUR                  5       nUR                  X8UUU5      nUR                  5       (       d   eU$ )Nsanitize_overflowF)dictr   r   	signatureparams
_pack_argsis_gluonr   r   r   contextload_dialectsget_codegen_implementationget_module_mapmake_irverify)	kernel_fnargskwargstargetbackendbinder
bound_argsspecializationoptionsrG   
constexprsattrs
source_clssrcrK   codegen_fns
module_mapr&   s                     r   
run_parserr`   6   s   &(f&+"#6"G+F +1$*A&*A'J,5,@,@R\nu,v)G
#,#5#5#7#7YJ
Y:
=CjjlGW'"44W=K'')J[[+z7KF==???Mr   c                    [        U [        R                  R                  5      (       d   e[        R
                  " U R                  5      nUc  [        S5      e[        U 5      n[        SUR                  5       U5        g )Nz=kernel function must have a docstring with FileCheck templateplaceholder)
isinstancetritonruntimeJITFunctioninspect	getsourcefnr9   r`   rB   str_nodebug)rQ   r;   mlir_modules      r   run_filecheck_testrl   Q   sd    i!;!;<<<<&&y||4NXYYY'K-!8!8!:NKr   c                 F   ^  [         R                  " T 5      U 4S j5       nU$ )Nc                     > [        T 5        g r   )rl   )ri   s   r   test_fnfilecheck_test.<locals>.test_fn]   s    2r   )	functoolswraps)ri   ro   s   ` r   filecheck_testrs   [   s%    __R  Nr   )rq   r-   rg   r2   r+   rd   triton.compilerr   r   triton.backends.compilerr   "triton.experimental.gluon._runtimer   triton.runtime.jitr   triton._C.libtritonr   stub_targetr.   dirname__file__
triton_dirr/   r4   r9   r   rB   r`   rl   rs   rC   r   r   <module>r}      s     	     3 . = = " R(WW__X&
j+69 9&&  ""[ 6Lr   