diff options
| author | Uday Bondhugula <bondhugula@google.com> | 2019-02-15 17:54:49 -0800 |
|---|---|---|
| committer | jpienaar <jpienaar@google.com> | 2019-03-29 16:30:26 -0700 |
| commit | f97c1c5b069cc1e3b45bd976afb5e3c22fc5cac1 (patch) | |
| tree | f3d11c958255e0e5922841bdf90aaa7bfa5bbbc9 /mlir/lib/Transforms/PipelineDataTransfer.cpp | |
| parent | 58aa383e6092cd56dc3b5586b82b53674912dfad (diff) | |
| download | bcm5719-llvm-f97c1c5b069cc1e3b45bd976afb5e3c22fc5cac1.tar.gz bcm5719-llvm-f97c1c5b069cc1e3b45bd976afb5e3c22fc5cac1.zip | |
Misc. updates/fixes to analysis utils used for DMA generation; update DMA
generation pass to make it drop certain assumptions, complete TODOs.
- multiple fixes for getMemoryFootprintBytes
- pass loopDepth correctly from getMemoryFootprintBytes()
- use union while computing memory footprints
- bug fixes for addAffineForOpDomain
- take into account loop step
- add domains of other loop IVs in turn that might have been used in the bounds
- dma-generate: drop assumption of "non-unit stride loops being tile space loops
and skipping those and recursing to inner depths"; DMA generation is now purely
based on available fast mem capacity and memory footprint's calculated
- handle memory region compute failures/bailouts correctly from dma-generate
- loop tiling cleanup/NFC
- update some debug and error messages to use emitNote/emitError in
pipeline-data-transfer pass - NFC
PiperOrigin-RevId: 234245969
Diffstat (limited to 'mlir/lib/Transforms/PipelineDataTransfer.cpp')
| -rw-r--r-- | mlir/lib/Transforms/PipelineDataTransfer.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/mlir/lib/Transforms/PipelineDataTransfer.cpp b/mlir/lib/Transforms/PipelineDataTransfer.cpp index a943ac280d1..a85f428bde6 100644 --- a/mlir/lib/Transforms/PipelineDataTransfer.cpp +++ b/mlir/lib/Transforms/PipelineDataTransfer.cpp @@ -261,7 +261,7 @@ PassResult PipelineDataTransfer::runOnAffineForOp(OpPointer<AffineForOp> forOp) { auto mayBeConstTripCount = getConstantTripCount(forOp); if (!mayBeConstTripCount.hasValue()) { - LLVM_DEBUG(llvm::dbgs() << "unknown trip count loop\n"); + LLVM_DEBUG(forOp->emitNote("unknown trip count loop")); return success(); } @@ -269,7 +269,7 @@ PipelineDataTransfer::runOnAffineForOp(OpPointer<AffineForOp> forOp) { findMatchingStartFinishInsts(forOp, startWaitPairs); if (startWaitPairs.empty()) { - LLVM_DEBUG(llvm::dbgs() << "No dma start/finish pairs\n";); + LLVM_DEBUG(forOp->emitNote("No dma start/finish pairs\n")); return success(); } |

