ViewLikeOpInterfaces introduce new aliases that need to be added to the alias
list. This is necessary to place deallocs in the right positions.
Details
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
mlir/lib/Transforms/BufferPlacement.cpp | ||
---|---|---|
149 | What would be the difference between aliasing-operation-effects interface and already existing ViewLikeOpInterface ? |
mlir/lib/Transforms/BufferPlacement.cpp | ||
---|---|---|
149 | Nit: memRefCastOp.source() |
Thanks for trying this! As @pifon suggests, you could use the ViewLikeOpInterface today and cover some ops (like ViewOp and SubviewOp) in std. That would definitely be worth adding. So please rewrite using that interface and change the test to use SubviewOp. Then this can land!
mlir/lib/Transforms/BufferPlacement.cpp | ||
---|---|---|
149 | Maybe we should evolve ViewLikeOpInterface in that direction. @nicolasvasilache Would you say that memref_cast should implement that interface? Or do you have some other semantic meaning in mind? | |
mlir/test/Transforms/buffer-placement.mlir | ||
929 | Should the others be CHECK-NEXT too? |
mlir/lib/Transforms/BufferPlacement.cpp | ||
---|---|---|
149 | Would it make sense to add ViewLikeOpInterface to MemrefcastOp? |
Changed from a specialized MemRefCastOp version to a more general ViewLikeOpInterface version.
Adapt test case, since MemRefCastOp is currently not a ViewLikeOp.
What would be the difference between aliasing-operation-effects interface and already existing ViewLikeOpInterface ?