Replace and(ext(a),ext(b)) with ext(and(a,b)). This both reduces one instruction, and results in the computation (and/or) being done on a smaller type.
Details
Details
Diff Detail
Diff Detail
- Repository
- rG LLVM Github Monorepo
| Paths 
 |  Differential  D116519  
[MLIR][Arith] Canonicalize and/or with ext ClosedPublic Authored by wsmoses on Jan 2 2022, 9:39 PM. 
Details Summary Replace and(ext(a),ext(b)) with ext(and(a,b)). This both reduces one instruction, and results in the computation (and/or) being done on a smaller type. 
Diff Detail 
 Event TimelineHerald added subscribers: sdasgup3, wenzhicui, wrengr and 18 others.  ·  View Herald TranscriptJan 2 2022, 9:39 PM This revision is now accepted and ready to land.Jan 2 2022, 10:24 PM Closed by commit rG834cf3be222d: [MLIR][Arith] Canonicalize and/or with ext (authored by wsmoses).  ·  Explain WhyJan 2 2022, 10:25 PM This revision was automatically updated to reflect the committed changes. 
Revision Contents 
 
 
Diff 396993 mlir/include/mlir/Dialect/Arithmetic/IR/ArithmeticOps.td
 mlir/lib/Dialect/Arithmetic/IR/ArithmeticCanonicalization.td
 mlir/lib/Dialect/Arithmetic/IR/ArithmeticOps.cpp
 mlir/test/Dialect/Arithmetic/canonicalize.mlir
 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||