This is an archive of the discontinued LLVM Phabricator instance.

[mlir] Add std.dynamic_tensor_from_elements bufferization.
ClosedPublic

Authored by silvas on Oct 18 2020, 9:43 PM.

Details

Summary

It's unfortunate that this requires adding a dependency on scf dialect
to std bufferization (and hence all of std transforms). This is a bit
perilous. We might want a lib/Transforms/Bufferize/ with a separate
bufferization library per dialect?

Diff Detail

Event Timeline

silvas created this revision.Oct 18 2020, 9:43 PM
silvas requested review of this revision.Oct 18 2020, 9:43 PM
herhut accepted this revision.Oct 19 2020, 5:00 AM

Regarding the dependency: Is bufferize special enough to require its own directory or is this just a symptom of the too coarse modelling of transform dependencies in general?

mlir/lib/Dialect/StandardOps/Transforms/Bufferize.cpp
58

The DynamicTensorFromElementsOp does not have a guaranteed iteration order, it is conceptually a map over the index space.

This revision is now accepted and ready to land.Oct 19 2020, 5:00 AM

Regarding the dependency: Is bufferize special enough to require its own directory or is this just a symptom of the too coarse modelling of transform dependencies in general?

Good point. I think it's the too coarse modeling of dialect transforms.

silvas added inline comments.Oct 19 2020, 3:28 PM
mlir/lib/Dialect/StandardOps/Transforms/Bufferize.cpp
58

Updated the op description as well.

This revision was landed with ongoing or failed builds.Oct 19 2020, 3:54 PM
This revision was automatically updated to reflect the committed changes.