don't allow duplicate variables (#5148)

This commit is contained in:
George Hotz
2024-06-25 18:47:29 -07:00
committed by GitHub
parent cc7fafcd8b
commit 6841ea3baf

View File

@@ -105,6 +105,7 @@ class CStyleLanguage(Renderer):
child_count = Counter(v for ru in uops for v in ru.src)
seen_vars = set()
for u in uops:
uop,dtype,src,args = u.op,u.dtype,u.src,u.arg
# these four uops don't have output dtypes
@@ -158,6 +159,8 @@ class CStyleLanguage(Renderer):
kk(self.render_local(args[0], dtype, args[1]))
r[u] = args[0]
elif uop is UOps.DEFINE_VAR:
assert args.expr not in seen_vars, f"duplicate variable {args.expr}"
seen_vars.add(args.expr)
bufs.append((args.expr, (dtype,False)))
r[u] = args.expr
elif uop is UOps.DEFINE_GLOBAL: