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 396996 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
|