From 890897553dcf28e27c9bdba9d40243c29edf1a31 Mon Sep 17 00:00:00 2001 From: George Hotz Date: Mon, 20 Oct 2025 18:35:45 +0800 Subject: [PATCH] this work? --- tinygrad/uop/symbolic.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tinygrad/uop/symbolic.py b/tinygrad/uop/symbolic.py index 4427670de3..91cf8390e4 100644 --- a/tinygrad/uop/symbolic.py +++ b/tinygrad/uop/symbolic.py @@ -378,8 +378,8 @@ symbolic = symbolic_simple+commutative+PatternMatcher([ x.cast(dtypes.int).alu(u.op, y.cast(dtypes.int)).cast(u.dtype) if not any(v.overflows(dtypes.int) for v in (u,x,y)) else None), ((UPat.var("x", dtypes.index) + UPat.cvar("c")).cast(dtypes.sints, name="cast"), lambda x,c,cast:x.cast(cast.dtype)+c.cast(cast.dtype)), # only RANGE/IF/STORE/KERNEL have side effects - (UPat(Ops.AFTER, name="x"), lambda x: - x.replace(src=(x.src[0],)+tuple(flatten([(y,) if y.op in {Ops.RANGE, Ops.IF, Ops.STORE, Ops.KERNEL} else y.src for y in x.src[1:]])))), + (UPat(Ops.AFTER, name="x"), lambda x: x.replace(src=(x.src[0],)+ + tuple(flatten([(y,) if y.op in {Ops.RANGE, Ops.IF, Ops.STORE, Ops.KERNEL, Ops.BARRIER} else y.src for y in x.src[1:]])))), # after with 1 src is just src[0] (UPat(Ops.AFTER, src=(UPat.var("s"),)), lambda s: s), ])+gep_pushing