@@ -177,7 +177,7 @@ class Uop:
177177 stack : StackEffect
178178 caches : list [CacheEntry ]
179179 deferred_refs : dict [lexer .Token , str | None ]
180- output_stores : list [lexer .Token ]
180+ local_stores : list [lexer .Token ]
181181 body : list [lexer .Token ]
182182 properties : Properties
183183 _size : int = - 1
@@ -236,7 +236,7 @@ def __init__(self, name: str, spilled: bool, body: list[lexer.Token], properties
236236 self .properties = properties
237237
238238 size :int = 0
239- output_stores : list [lexer .Token ] = []
239+ local_stores : list [lexer .Token ] = []
240240 instruction_size = None
241241
242242 def __str__ (self ) -> str :
@@ -431,7 +431,7 @@ def find_assignment_target(node: parser.InstDef, idx: int) -> list[lexer.Token]:
431431 return []
432432
433433
434- def find_stores_outputs (node : parser .InstDef ) -> list [lexer .Token ]:
434+ def find_variable_stores (node : parser .InstDef ) -> list [lexer .Token ]:
435435 res : list [lexer .Token ] = []
436436 outnames = { out .name for out in node .outputs }
437437 innames = { out .name for out in node .inputs }
@@ -449,9 +449,7 @@ def find_stores_outputs(node: parser.InstDef) -> list[lexer.Token]:
449449 if len (lhs ) != 1 or lhs [0 ].kind != "IDENTIFIER" :
450450 continue
451451 name = lhs [0 ]
452- if name .text in innames :
453- raise analysis_error (f"Cannot assign to input variable '{ name .text } '" , name )
454- if name .text in outnames :
452+ if name .text in outnames or name .text in innames :
455453 res .append (name )
456454 return res
457455
@@ -877,7 +875,7 @@ def make_uop(
877875 stack = analyze_stack (op ),
878876 caches = analyze_caches (inputs ),
879877 deferred_refs = analyze_deferred_refs (op ),
880- output_stores = find_stores_outputs (op ),
878+ local_stores = find_variable_stores (op ),
881879 body = op .block .tokens ,
882880 properties = compute_properties (op ),
883881 )
@@ -899,7 +897,7 @@ def make_uop(
899897 stack = analyze_stack (op ),
900898 caches = analyze_caches (inputs ),
901899 deferred_refs = analyze_deferred_refs (op ),
902- output_stores = find_stores_outputs (op ),
900+ local_stores = find_variable_stores (op ),
903901 body = op .block .tokens ,
904902 properties = properties ,
905903 )
0 commit comments