diff --git a/tinygrad/codegen/__init__.py b/tinygrad/codegen/__init__.py index 2eb95e3782..0238c165a8 100644 --- a/tinygrad/codegen/__init__.py +++ b/tinygrad/codegen/__init__.py @@ -12,11 +12,9 @@ from tinygrad.dtype import dtypes, PtrDType, ImageDType # import all pattern matchers here from tinygrad.codegen.gpudims import pm_add_gpudims -from tinygrad.uop.symbolic import sym, symbolic_simple, gep_pushing, symbolic, pm_move_where_on_load, pm_clean_up_group_sink, pm_remove_invalid +from tinygrad.uop.symbolic import sym, symbolic_simple, gep_pushing, symbolic, pm_move_where_on_load, pm_clean_up_group_sink from tinygrad.uop.decompositions import get_late_rewrite_patterns, get_transcendental_patterns, pm_dtype_decomps -from tinygrad.codegen.late.expander import expander, pm_pre_expander, pm_group_for_reduce -from tinygrad.codegen.late.devectorizer import load_store_folding, load_store_indexing, devectorize_buf_and_index, devectorize_alu, pm_reduce, \ - ReduceContext, correct_load_store, pm_render, pm_add_loads, pm_make_images +from tinygrad.codegen.late.devectorizer import load_store_indexing, ReduceContext, pm_render, pm_make_images from tinygrad.codegen.opt.postrange import apply_opts from tinygrad.codegen.late.gater import pm_move_gates_from_index from tinygrad.codegen.simplify import pm_simplify_ranges, pm_flatten_range, pm_split_ranges, pm_load_collapse diff --git a/tinygrad/codegen/codegen2.py b/tinygrad/codegen/codegen2.py index 6f69f15c49..30cb3713f7 100644 --- a/tinygrad/codegen/codegen2.py +++ b/tinygrad/codegen/codegen2.py @@ -56,6 +56,7 @@ def do_devectorize(b:UOp): for idx in itertools.product(*[range(x) for x in b.shape]): idx_c = [UOp.const(dtypes.weakint, i) for i in idx] src.append(b.replace(src=tuple([x.index(*idx_c) for x in b.src]))) + if b.op is Ops.STORE: return UOp.group(*src) return UOp.vectorize(*src).reshape(b.shape) devectorizer2 = pm_mops+PatternMatcher([