forked from OSchip/llvm-project
8b3f841daf
- for the DMA buffers being allocated (and their tags), generate corresponding deallocs - minor related update to replaceAllMemRefUsesWith and PipelineDataTransfer pass Code generation for DMA transfers was being done with the initial simplifying assumption that the alloc's would map to scoped allocations, and so no deallocations would be necessary. Drop this assumption to generalize. Note that even with scoped allocations, unrolling loops that have scoped allocations could create a series of allocations and exhaustion of fast memory. Having a end of lifetime marker like a dealloc in fact allows creating new scopes if necessary when lowering to a backend and still utilize scoped allocation. DMA buffers created by -dma-generate are guaranteed to have either non-overlapping lifetimes or nested lifetimes. PiperOrigin-RevId: 233502632 |
||
---|---|---|
.. | ||
AffineOps | ||
Analysis | ||
Dialect | ||
EDSC | ||
ExecutionEngine | ||
IR | ||
LLVMIR | ||
Parser | ||
StandardOps | ||
SuperVectorOps | ||
Support | ||
TableGen | ||
Target/LLVMIR | ||
Transforms | ||
Translation |