From ed3dec467442f8dcdb21892691167ba2f1181879 Mon Sep 17 00:00:00 2001 From: George Hotz <72895+geohot@users.noreply.github.com> Date: Fri, 3 Jul 2026 11:39:57 -0700 Subject: [PATCH] remove noop reshapes (#16849) --- tinygrad/schedule/rangeify.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tinygrad/schedule/rangeify.py b/tinygrad/schedule/rangeify.py index 0994a5a074..948c95429c 100644 --- a/tinygrad/schedule/rangeify.py +++ b/tinygrad/schedule/rangeify.py @@ -125,6 +125,8 @@ def split_reduceop(reduce:UOp, x:UOp): mop_cleanup = PatternMatcher([ # merge adjacent RESHAPES (UPat(Ops.RESHAPE, src=(UPat(Ops.RESHAPE, name="x2"), UPat()), name="x"), lambda x,x2: x.replace(src=(x2.src[0], x.src[1]))), + # remove noop RESHAPEs + (UPat(Ops.RESHAPE, src=(UPat(name="x2"), UPat()), name="x"), lambda x,x2: x2 if x2._shape is not None and x2.shape == x.shape else None), ]) pm_gather_params = PatternMatcher([ (UPat(Ops.PARAM, name="p"), lambda ctx, p: ctx.append(p) if p.arg.slot >= 0 else None), ])