Initially we were passing wrong numSymbols argument while calling
AffineMap::get() for creaating affine map with linearized result
expressions. The main problems was the number of symbols of the newly
to be created map may be different from that of the source map, as
new symbolic identifiers may be introduced while creating strided layout
linearized expressions.
Reviewed By: nicolasvasilache, bondhugula
Differential Revision: https://reviews.llvm.org/D114240
makeCanonicalStridedLayoutExpr(sizes, dimExprs, context);
resultExprs.push_back(linearizedExpr);
}
- return AffineMap::get(sourceMap.getNumDims(), sourceMap.getNumSymbols(),
- resultExprs, context);
+ return AffineMap::inferFromExprList({resultExprs}).front();
}
// TensorExpandShapeOp is fusable with its consumer (i.e. reshape as a