From 30cc4269164138df763eaef98460fe3dc32b02bf Mon Sep 17 00:00:00 2001 From: George Hotz Date: Tue, 23 Jun 2026 12:39:06 -0700 Subject: [PATCH] order --- tinygrad/codegen/__init__.py | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/tinygrad/codegen/__init__.py b/tinygrad/codegen/__init__.py index 5992a4bffd..a6f06106ae 100644 --- a/tinygrad/codegen/__init__.py +++ b/tinygrad/codegen/__init__.py @@ -121,12 +121,21 @@ def full_rewrite_to_sink(ast:UOp, ren:Renderer, optimize:bool=True) -> UOp: # optional pre matcher if ren.pre_matcher is not None: sink = graph_rewrite(sink, ren.pre_matcher, name="pre_matcher") + # dtypes + sink = graph_rewrite(sink, pm_dtype_decomps, ctx=(set(), ren), name="decomp dtypes") + + # memory coalesing + sink = memory_coalesing(sink) + + # again + sink = graph_rewrite(sink, pm_lower_index_dtype+load_store_indexing+gep_pushing, name="lower all index dtypes") + sink = graph_rewrite(sink, symbolic, name="post index symbolic") + # decompositions supported_ops = tuple(ren.code_for_op.keys()) pm_decomp = symbolic_simple+get_late_rewrite_patterns(supported_ops, bool(DISABLE_FAST_IDIV)) pm_transcendental = symbolic_simple+get_transcendental_patterns(supported_ops, TRANSCENDENTAL>=2) sink = graph_rewrite(sink, pm_decomp, ctx=ren, name="decompositions") - sink = graph_rewrite(sink, pm_dtype_decomps, ctx=(set(), ren), name="decomp dtypes") sink = graph_rewrite(sink, pm_transcendental, name="transcendental") # GEP/STACK stuff @@ -136,13 +145,6 @@ def full_rewrite_to_sink(ast:UOp, ren:Renderer, optimize:bool=True) -> UOp: sink = graph_rewrite(sink, pm_index_is_shrink, name="index is shrink") sink = graph_rewrite(sink, pm_remove_vec_dtypes, name="transform to new style") - # memory coalesing - sink = memory_coalesing(sink) - - # again - sink = graph_rewrite(sink, pm_lower_index_dtype+load_store_indexing+gep_pushing, name="lower all index dtypes") - sink = graph_rewrite(sink, symbolic, name="post index symbolic") - # move gates from unrenderable INVALID where sink = graph_rewrite(sink, pm_move_gates_from_index, name="move gates from index")