This adds support for hoisting allocas in both BufferHoisting and
BufferLoopHoisting.
Details
Details
Diff Detail
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
mlir/test/Transforms/buffer-hoisting.mlir | ||
---|---|---|
555 ↗ | (On Diff #346091) | For the non-loop case, why would the allocation be hoisted? The reason this is done is to avoid copies but alloca allocated memrefs are never copied anyway, as they have implicit lifetimes. |
mlir/test/Transforms/buffer-hoisting.mlir | ||
---|---|---|
555 ↗ | (On Diff #346091) | This happened practically because the hoisting code is shared and I was assuming it might also hoist during unstructured control flow loops. As that is not the case, I'll add details to the subclassed portions to only work on Allocs for this case. |