+
    Š°³j  ã                   ó¦   € ^ RI HtHt ^ RIHt ^ RIHt ^ RIHtH	t	 ^ RI
Ht ]! RR7       ! R R	]4      4       t ! R
 R]4      t ! R R]R7      tR# )é    )ÚABCMetaÚabstractmethod)Ú	dataclass)ÚEnum)ÚDictÚUnion)Ú
ModuleTypeT)Úfrozenc                   ó,   a € ] tR t^t o V 3R ltRtV tR# )Ú	GPUTargetc                óT   <€ V ^8„  d   Qh/ S[ ;R&   S[S[S[ 3,          ;R&   S[;R&   # )é   ÚbackendÚarchÚ	warp_size)Ústrr   Úint)ÚformatÚ__classdict__s   "€ÚY/home/luca/screen-checking/.venv/lib/python3.14/site-packages/triton/backends/compiler.pyÚ__annotate__ÚGPUTarget.__annotate__   s2   ø‡ ‚ ñ �Lñ ñ
 ‘‘S��/Ññ ñ �Nò ó    © N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__annotate_func__Ú__static_attributes__Ú__classdictcell__©r   s   @r   r   r      s   ø‡ ‡ „ r   r   c                   ó"   € ] tR t^tRt^ t^tRtR# )ÚLanguagez1The input language being compiled by the backend.r   N)r   r   r   r   Ú__doc__ÚTRITONÚGLUONr    r   r   r   r$   r$      s   † Ù;Ø€FØ„Er   r$   c                   ó  a € ] tR t^t o RtV 3R lR lt]]V 3R lR l4       4       t]V 3R lR l4       t	]V 3R lR	 l4       t
]V 3R
 lR l4       t]R 4       t]V 3R lR l4       t]R 4       t]R 4       t]R 4       tRtV tR# )ÚBaseBackendTc                ó$   <€ V ^8„  d   QhRS[ RR/# )r   ÚtargetÚreturnN©r   )r   r   s   "€r   r   ÚBaseBackend.__annotate__   s   ø€ ÷ ,ñ ,™yð ,¨Tñ ,r   c                óD   € Wn         V P                  V4      '       g   Q hR # ©N)r+   Úsupports_target)Úselfr+   s   &&r   Ú__init__ÚBaseBackend.__init__   s   € ØŒØ×#Ñ# F×+Ò+Ð+Ò+r   c                ó    <€ V ^8„  d   QhRS[ /# )r   r+   r-   )r   r   s   "€r   r   r.       s   ø€ ÷ "ñ "¡	ñ "r   c                ó   € \         hr0   ©ÚNotImplementedError©r+   s   &r   r1   ÚBaseBackend.supports_target   ó
   € ô "Ð!r   c                ó    <€ V ^8„  d   QhRS[ /# ©r   r,   )r   )r   r   s   "€r   r   r.   $   s   ø€ ÷ "ñ "‘cñ "r   c                ó   € \         h)z,Returns a unique identifier for this backendr7   ©r2   s   &r   ÚhashÚBaseBackend.hash#   r;   r   c                ó&   <€ V ^8„  d   QhRS[ RS[/# )r   Úoptionsr,   ©ÚdictÚobject)r   r   s   "€r   r   r.   )   s   ø€ ÷ "ñ "¡Tð "©fñ "r   c                ó   € \         h)z¯
Converts an `options` dictionary into an arbitrary object and returns it.
This function may contain target-specific heuristics and check the legality of the provided options
r7   )r2   rC   s   &&r   Úparse_optionsÚBaseBackend.parse_options(   s
   € ô "Ð!r   c                ó*   <€ V ^8„  d   QhRS[ RS[RR/# )r   ÚstagesrC   r,   NrD   )r   r   s   "€r   r   r.   1   s"   ø€ ÷ 	"ñ 	"¡ð 	"±ð 	"¸4ñ 	"r   c                ó   € \         h)aŸ  
Populates `stages` dictionary with entries of the form:
ir_name [str] => Function[(src: str, metadata: dict) -> str|bytes]
The value of each entry may populate a `metadata` dictionary.
Stages will be run sequentially (in inseriton order) and can communicate using `metadata`.
All stages are expected to return a `str` object, except for the last stage which returns
a `bytes` object for execution by the launcher.
r7   )r2   rK   rC   s   &&&r   Ú
add_stagesÚBaseBackend.add_stages0   s
   € ô "Ð!r   c                ó   € \         h)z;
Load additional MLIR dialects into the provided `context`
r7   )r2   Úcontexts   &&r   Úload_dialectsÚBaseBackend.load_dialects<   ó
   € ô
 "Ð!r   c                ó6   <€ V ^8„  d   QhRS[ S[S[3,          /# r=   )r   r   r	   )r   r   s   "€r   r   r.   D   s   ø€ ÷ "ñ "¡¡S©* _Õ 5ñ "r   c                ó   € \         h)zL
Return a map of interface modules to their device-specific implementations
r7   r?   s   &r   Úget_module_mapÚBaseBackend.get_module_mapC   rS   r   c                ó`   € \        V \        4      '       g   Q h. pR V 9   d   VR^..,          pV# )ÚDztt.divisibility)Ú
isinstancer   )ÚdescÚrets   & r   Ú
parse_attrÚBaseBackend.parse_attrJ   s9   € ä˜$¤×$Ò$Ð$Ð$ØˆØ�$Œ;ØÐ&¨Ð+Ð,Õ,ˆCØˆ
r   c                óV   € V ^,          ^ 8X  d   VP                  RR4      '       d   R# R# ©é   ÚalignFrY   Ú )Úget©ÚargÚkwargss   &,r   Úget_int_specializationÚ"BaseBackend.get_int_specializationR   s#   € à��8�qŒ=˜VŸZ™Z¨°×7Ò7ÙÙr   c                ór   € V P                  4       ^,          ^ 8X  d   VP                  RR4      '       d   R# R# r`   )Údata_ptrrd   re   s   &,r   Úget_tensor_specializationÚ%BaseBackend.get_tensor_specializationX   s+   € à�<‰<‹>˜BÕ !Ô#¨¯
©
°7¸E×(BÒ(BÙÙr   r9   N)r   r   r   r   Ú%supports_native_tensor_specializationr3   Ústaticmethodr   r1   r@   rH   rM   rQ   rV   r]   rh   rl   r    r!   r"   s   @r   r)   r)      sÑ   ø‡ € Ø,0Ð)÷,ð ,ð Ø÷"ó ó ð"ð ÷"ó ð"ð ÷"ó ð"ð ÷	"ó ð	"ð ñ"ó ð"ð ÷"ó ð"ð ñó ðð ñó ðð
 ñó ör   r)   )Ú	metaclassN)Úabcr   r   Údataclassesr   Úenumr   Útypingr   r   Útypesr	   rF   r   r$   r)   r   r   r   Ú<module>rv      sN   ðß 'Ý !Ý ß Ý ñ �$Ôô�ó ó ðôˆtô ôE˜G÷ Er   