simpler invalid alu [pr] (#13508)

This commit is contained in:
chenyu
2025-11-30 22:18:42 -05:00
committed by GitHub
parent ada6b92b2d
commit ebbd114885
+2 -2
View File
@@ -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([