From e4ec4d2c5111aabad2adab354537a80f92a0865f Mon Sep 17 00:00:00 2001 From: George Hotz Date: Mon, 6 Oct 2025 23:21:48 +0800 Subject: [PATCH] remove noops --- tinygrad/codegen/opt/heuristic.py | 4 ++-- tinygrad/codegen/opt/postrange.py | 5 ++++- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/tinygrad/codegen/opt/heuristic.py b/tinygrad/codegen/opt/heuristic.py index aec7711fdf..fc80515ae5 100644 --- a/tinygrad/codegen/opt/heuristic.py +++ b/tinygrad/codegen/opt/heuristic.py @@ -45,8 +45,8 @@ def hand_coded_optimizations(k:Scheduler) -> Scheduler: tk.apply_opt(Opt(OptOps.LOCAL, tk.rngs.index(rngs[0]), szs[0])) #tk.apply_opt(Opt(OptOps.LOCAL, 0, 2)) #tk.apply_opt(Opt(OptOps.LOCAL, 1, 2)) - #tk.apply_opt(Opt(OptOps.UPCAST, 0, 4)) - #tk.apply_opt(Opt(OptOps.UPCAST, 1, 4)) + #tk.apply_opt(Opt(OptOps.UPCAST, 0, 2)) + #tk.apply_opt(Opt(OptOps.UPCAST, 1, 2)) #tk.apply_opt(Opt(OptOps.UNROLL, 0, 8)) return tk diff --git a/tinygrad/codegen/opt/postrange.py b/tinygrad/codegen/opt/postrange.py index e1d9a1b3a5..a3d104afaa 100644 --- a/tinygrad/codegen/opt/postrange.py +++ b/tinygrad/codegen/opt/postrange.py @@ -467,7 +467,10 @@ def do_split(x:UOp): load = [x for x in loads[1].toposort() if x.op is Ops.LOAD][0] ret = ret.substitute({load: load.replace(src=load.src+(loads[0],))}) - return ret + pm_remove_noops = PatternMatcher([ + (UPat(Ops.NOOP, src=(UPat.var('x'),)), lambda x: x), + ]) + return graph_rewrite(ret, pm_remove_noops, name="remove noops") return UOp(Ops.SPLIT, x.dtype, src=tuple(uu)) pm_pipeline = PatternMatcher([