The EDSC discussion thread points out that ValueHandle has become an unnecessary level of abstraction since MLIR switch from Value * to Value everywhere.
This revision removes this level of indirection.
Paths
| Differential D78691
[mlir][EDSC] Retire ValueHandle ClosedPublic Authored by nicolasvasilache on Apr 22 2020, 8:55 PM.
Details
Diff Detail
Event TimelineComment Actions Thanks for the cleanup! LGTM in principle, I don't know if anyone wants to review this in details... Comment Actions Thanks, great clean up, I like the simplification very much and happy to see this moving! Most my comments are nits or ideas for further simplifications. Some bigger cleanup ideas (for separate commits):
I've also seen some changes from ArrayRef<ValueHandle *> to one of ArrayRef<Value *>, SmallVectorImpl<Value> &, MutableArrayRef<Value> and I can't understand the logic behind the individual choices. My suggestion would be to consistently use one specific type (e.g. MutableArrayRef<Value>) eveywhere for consistency.
I did.
This revision is now accepted and ready to land.Apr 23 2020, 1:55 AM Comment Actions Thanks for the review!
nicolasvasilache added inline comments.
bondhugula added inline comments.
Revision Contents
Diff 259574 mlir/docs/Dialects/Linalg.md
mlir/docs/EDSC.md
mlir/include/mlir/Dialect/Affine/EDSC/Builders.h
mlir/include/mlir/Dialect/Linalg/EDSC/Builders.h
mlir/include/mlir/Dialect/Linalg/EDSC/FoldedIntrinsics.h
mlir/include/mlir/Dialect/LoopOps/EDSC/Builders.h
mlir/include/mlir/Dialect/StandardOps/EDSC/Builders.h
mlir/include/mlir/Dialect/StandardOps/EDSC/Intrinsics.h
mlir/include/mlir/Dialect/Vector/EDSC/Intrinsics.h
mlir/include/mlir/EDSC/Builders.h
mlir/include/mlir/EDSC/Intrinsics.h
mlir/lib/Conversion/VectorToLoops/ConvertVectorToLoops.cpp
mlir/lib/Dialect/Affine/EDSC/Builders.cppmlir/lib/Dialect/GPU/Transforms/MemoryPromotion.cpp
mlir/lib/Dialect/Linalg/EDSC/Builders.cpp
mlir/lib/Dialect/Linalg/Transforms/Fusion.cpp
mlir/lib/Dialect/Linalg/Transforms/LinalgToLoops.cpp
mlir/lib/Dialect/Linalg/Transforms/LinalgTransforms.cpp
mlir/lib/Dialect/Linalg/Transforms/Promotion.cpp
mlir/lib/Dialect/Linalg/Transforms/Tiling.cpp
mlir/lib/Dialect/LoopOps/EDSC/Builders.cpp
mlir/lib/Dialect/StandardOps/EDSC/Builders.cpp
mlir/lib/Dialect/StandardOps/EDSC/Intrinsics.cpp
mlir/lib/EDSC/Builders.cpp
mlir/test/EDSC/builder-api-test.cpp
mlir/test/mlir-linalg-ods-gen/test-linalg-ods-gen.tc
mlir/tools/mlir-linalg-ods-gen/mlir-linalg-ods-gen.cpp
|
Nit: mlir::OpBuilder::create