Adding the accumulator value after the vector.contract changes the
precision of the operation. This makes sure the accumulator is carried
through to vector.reduce (and down to LLVM).
Details
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
mlir/lib/Dialect/Vector/IR/VectorOps.cpp | ||
---|---|---|
411–412 | We need to change the op description as well as the lowering to LLVM as this case was explicitly not allowed. |
mlir/lib/Dialect/Vector/IR/VectorOps.cpp | ||
---|---|---|
411–412 | Could you give me pointers to that. No tests fail, so not sure where to look. |
mlir/lib/Dialect/Vector/IR/VectorOps.cpp | ||
---|---|---|
411–412 | I think we need to update at least those spots: The lowering to LLVM for int assumes no acc. I'm guessing no test fails because this IR wasn't allowed and there is no tests going from MultiDimReduction to LLVM. |
mlir/lib/Dialect/Vector/IR/VectorOps.cpp | ||
---|---|---|
411–412 | Added lowering for integer version of vector.reduction <..> with accumulator. PTAL. |
mlir/include/mlir/Dialect/Vector/IR/VectorOps.td | ||
---|---|---|
283 | nit: All reductions now allow for the optional accumulator. (remove the "Some"?) |
nit: All reductions now allow for the optional accumulator. (remove the "Some"?)