/// Query for an analysis of a child operation, constructing it if necessary.
template <typename AnalysisT> AnalysisT &getChildAnalysis(Operation *op) {
- return slice(op).template getAnalysis<AnalysisT>();
+ return nest(op).template getAnalysis<AnalysisT>();
}
/// Query for an analysis of a child operation of a specifc derived operation
/// type, constructing it if necessary.
template <typename AnalysisT, typename OpT>
AnalysisT &getChildAnalysis(OpT child) {
- return slice(child).template getAnalysis<AnalysisT, OpT>();
+ return nest(child).template getAnalysis<AnalysisT, OpT>();
}
/// Query for a cached analysis of a child operation, or return null.
}
/// Get an analysis manager for the given child operation.
- AnalysisManager slice(Operation *op);
+ AnalysisManager nest(Operation *op);
/// Invalidate any non preserved analyses,
void invalidate(const PreservedAnalyses &pa) { impl->invalidate(pa); }
// Run the held pipeline over the current operation.
if (instrumentor)
instrumentor->runBeforePipeline(mgr->getOpName(), parentInfo);
- auto result = runPipeline(mgr->getPasses(), &op, am.slice(&op));
+ auto result = runPipeline(mgr->getPasses(), &op, am.nest(&op));
if (instrumentor)
instrumentor->runAfterPipeline(mgr->getOpName(), parentInfo);
for (auto &op : block) {
// Add this operation iff the name matches the any of the pass managers.
if (findPassManagerFor(mgrs, op.getName()))
- opAMPairs.emplace_back(&op, am.slice(&op));
+ opAMPairs.emplace_back(&op, am.nest(&op));
}
}
}
}
/// Get an analysis manager for the given child operation.
-AnalysisManager AnalysisManager::slice(Operation *op) {
+AnalysisManager AnalysisManager::nest(Operation *op) {
assert(op->getParentOp() == impl->getOperation() &&
"'op' has a different parent operation");
auto it = impl->childAnalyses.find(op);
// Test fine grain invalidation of the function analysis manager.
ModuleAnalysisManager mam(*module, /*passInstrumentor=*/nullptr);
AnalysisManager am = mam;
- AnalysisManager fam = am.slice(func1);
+ AnalysisManager fam = am.nest(func1);
// Query two different analyses, but only preserve one before invalidating.
fam.getAnalysis<MyAnalysis>();