This diff fixes fusion craching for ops with rank-0 tensors
Details
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
mlir/lib/IR/AffineMap.cpp | ||
---|---|---|
260 | There are going to be so many of such cases. The get method that gets context from the result expression should just be removed IMO |
mlir/lib/IR/AffineMap.cpp | ||
---|---|---|
260 | IMO we should have a single ::get method that handle any results exprs including empty e.g AffineMap AffineMap::get(unsigned dimCount, unsigned symbolCount, ArrayRef<AffineExpr> results) { if (!results.empty()) { getImpl(dimCount, symbolCount, results, results[0].getContext()); } else { assert(symbolCount == 0); return get(numResultDims, 0, this->getContext()); } } Not sure if Nicolas prefer to have an explicit get method for rank-0 tensors for a specific reason. |
mlir/lib/IR/AffineMap.cpp | ||
---|---|---|
260 | There is no this->getContext() . This is a static class method. So this would not compile. I think the reason for the separate method is because of the current assert(!result.empty()). Should just have a single method AffineMap AffineMap::get(unsigned dimCount, unsigned symbolCount, ArrayRef<AffineExpr> results, MLIRContext *context) { return getImpl(dimCount, symbolCount, results, context); } |
mlir/lib/IR/AffineMap.cpp | ||
---|---|---|
260 | ah Didn't notice its static method. having both results & context and a single get SGTM. We can do it in a follow up diff it will touch many places |
mlir/lib/IR/AffineMap.cpp | ||
---|---|---|
260 | nit: Drop the this-> |
There are going to be so many of such cases. The get method that gets context from the result expression should just be removed IMO