Lines Matching refs:Operation
79 explicit TransformOpMemFreeAnalysis(Operation *root) { in TransformOpMemFreeAnalysis()
80 root->walk([&](Operation *op) { in TransformOpMemFreeAnalysis()
97 static PotentialDeleters maybeFreed(ArrayRef<Operation *> deleters) { in maybeFreed()
113 ArrayRef<Operation *> getOps() const { return deleters; } in getOps()
117 explicit PotentialDeleters(ArrayRef<Operation *> ops) { in PotentialDeleters()
122 SmallVector<Operation *> deleters;
130 const llvm::SmallPtrSet<Operation *, 2> &deleters = freedBy[operand.get()]; in isUseLive()
136 Operation *valueSource = in isUseLive()
151 SmallVector<Operation *> ancestors; in isUseLive()
152 Operation *ancestor = operand.getOwner(); in isUseLive()
164 for (Operation *ancestor : ancestors) { in isUseLive()
218 static PotentialDeleters maybeFreed(ArrayRef<Operation *> deleters) { in maybeFreed()
227 isFreedBetween(Value value, Operation *first, Operation *last, in isFreedBetween()
228 llvm::function_ref<Operation *(Operation *)> getNext) const { in isFreedBetween()
232 const llvm::SmallPtrSet<Operation *, 2> &deleters = it->getSecond(); in isFreedBetween()
233 for (Operation *op = getNext(first); op != last; op = getNext(op)) { in isFreedBetween()
244 PotentialDeleters isFreedInBlockAfter(Operation *root, Value value, in isFreedInBlockAfter()
245 Operation *before = nullptr) const { in isFreedInBlockAfter()
247 [](Operation *op) { return op->getNextNode(); }); in isFreedInBlockAfter()
252 PotentialDeleters isFreedInBlockBefore(Operation *root, Value value) const { in isFreedInBlockBefore()
254 [](Operation *op) { return op->getPrevNode(); }); in isFreedInBlockBefore()
286 for (Operation &op : *block) { in isMaybeFreedOnPaths()
323 void collectFreedValues(Operation *root) { in collectFreedValues()
325 root->walk([&](Operation *child) { in collectFreedValues()
342 Operation *parent = child; in collectFreedValues()
357 DenseMap<Value, llvm::SmallPtrSet<Operation *, 2>> freedBy;
374 getOperation()->walk([&](Operation *child) { in runOnOperation()
385 for (Operation *d : deleters.getOps()) { in runOnOperation()