From ebbd11488543587bea5cfd0b8ef7a56353e1c2bb Mon Sep 17 00:00:00 2001 From: chenyu Date: Sun, 30 Nov 2025 22:18:42 -0500 Subject: [PATCH] simpler invalid alu [pr] (#13508) --- tinygrad/uop/symbolic.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tinygrad/uop/symbolic.py b/tinygrad/uop/symbolic.py index 68dfbb0b7c..f53b873e36 100644 --- a/tinygrad/uop/symbolic.py +++ b/tinygrad/uop/symbolic.py @@ -33,8 +33,8 @@ propagate_invalid = PatternMatcher([ for op in GroupOp.Binary-GroupOp.Comparison), # TODO: when can this happen? and is it always safe to just drop invalid? *((invalid_gate.alu(op, UPat.var("y")).named("alu"), lambda cond,x,y,alu,i: x.alu(alu.op,y)) for op in GroupOp.Comparison), - # invalid + y -> invalid same for other ops - *((invalid_pat.alu(op, UPat(dtype=dtypes.index)).named("alu"), lambda alu,i: i) for op in GroupOp.Binary-GroupOp.Comparison), + # alu with invalid -> invalid + *((invalid_pat.alu(op, UPat(dtype=dtypes.index)), lambda i: i) for op in GroupOp.Binary-GroupOp.Comparison), ]) symbolic_simple = propagate_invalid + PatternMatcher([