diff options
| author | Uday Bondhugula <bondhugula@google.com> | 2018-12-30 20:38:04 -0800 |
|---|---|---|
| committer | jpienaar <jpienaar@google.com> | 2019-03-29 14:48:44 -0700 |
| commit | f12182157ec65a813b5e5f08495c6d1c0559a82e (patch) | |
| tree | 91a53553f2d52ab03c77db31c492f23497011c26 /mlir/lib/Transforms/PipelineDataTransfer.cpp | |
| parent | cea9f28a2c6cbc914f0c9cb145df98e128a9daf1 (diff) | |
| download | bcm5719-llvm-f12182157ec65a813b5e5f08495c6d1c0559a82e.tar.gz bcm5719-llvm-f12182157ec65a813b5e5f08495c6d1c0559a82e.zip | |
Introduce PostDominanceInfo, fix properlyDominates() for Instructions
- introduce PostDominanceInfo in the right/complete way and use that for post
dominance check in store-load forwarding
- replace all uses of Analysis/Utils::dominates/properlyDominates with
DominanceInfo::dominates/properlyDominates
- drop all redundant copies of dominance methods in Analysis/Utils/
- in pipeline-data-transfer, replace dominates call with a much less expensive
check; similarly, substitute dominates() in checkMemRefAccessDependence with
a simpler check suitable for that context
- fix a bug in properlyDominates
- improve doc for 'for' instruction 'body'
PiperOrigin-RevId: 227320507
Diffstat (limited to 'mlir/lib/Transforms/PipelineDataTransfer.cpp')
| -rw-r--r-- | mlir/lib/Transforms/PipelineDataTransfer.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/mlir/lib/Transforms/PipelineDataTransfer.cpp b/mlir/lib/Transforms/PipelineDataTransfer.cpp index debaac3a33c..321bf20cf0b 100644 --- a/mlir/lib/Transforms/PipelineDataTransfer.cpp +++ b/mlir/lib/Transforms/PipelineDataTransfer.cpp @@ -227,7 +227,7 @@ static void findMatchingStartFinishInsts( auto *memref = dmaStartOp->getOperand(dmaStartOp->getFasterMemPos()); bool escapingUses = false; for (const auto &use : memref->getUses()) { - if (!dominates(*forInst->getBody()->begin(), *use.getOwner())) { + if (!forInst->getBody()->findAncestorInstInBlock(*use.getOwner())) { LLVM_DEBUG(llvm::dbgs() << "can't pipeline: buffer is live out of loop\n";); escapingUses = true; |

