remove noops

This commit is contained in:
George Hotz
2025-10-06 23:21:48 +08:00
parent 1d0b114a7b
commit e4ec4d2c51
2 changed files with 6 additions and 3 deletions

View File

@@ -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

View File

@@ -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([