Lines Matching refs:Operation

26 static void getForwardSliceImpl(Operation *op,  in getForwardSliceImpl()
27 SetVector<Operation *> *forwardSlice, in getForwardSliceImpl()
40 for (Operation &blockOp : block) in getForwardSliceImpl()
44 for (Operation *userOp : result.getUsers()) in getForwardSliceImpl()
52 void mlir::getForwardSlice(Operation *op, SetVector<Operation *> *forwardSlice, in getForwardSlice()
62 std::vector<Operation *> v(forwardSlice->takeVector()); in getForwardSlice()
66 void mlir::getForwardSlice(Value root, SetVector<Operation *> *forwardSlice, in getForwardSlice()
68 for (Operation *user : root.getUsers()) in getForwardSlice()
74 std::vector<Operation *> v(forwardSlice->takeVector()); in getForwardSlice()
78 static void getBackwardSliceImpl(Operation *op, in getBackwardSliceImpl()
79 SetVector<Operation *> *backwardSlice, in getBackwardSliceImpl()
97 Operation *parentOp = block->getParentOp(); in getBackwardSliceImpl()
113 void mlir::getBackwardSlice(Operation *op, in getBackwardSlice()
114 SetVector<Operation *> *backwardSlice, in getBackwardSlice()
123 void mlir::getBackwardSlice(Value root, SetVector<Operation *> *backwardSlice, in getBackwardSlice()
125 if (Operation *definingOp = root.getDefiningOp()) { in getBackwardSlice()
129 Operation *bbAargOwner = root.cast<BlockArgument>().getOwner()->getParentOp(); in getBackwardSlice()
133 SetVector<Operation *> mlir::getSlice(Operation *op, in getSlice()
136 SetVector<Operation *> slice; in getSlice()
140 SetVector<Operation *> backwardSlice; in getSlice()
141 SetVector<Operation *> forwardSlice; in getSlice()
164 DFSState(const SetVector<Operation *> &set) in DFSState()
166 const SetVector<Operation *> &toSort;
167 SmallVector<Operation *, 16> topologicalCounts;
168 DenseSet<Operation *> seen;
172 static void dfsPostorder(Operation *root, DFSState *state) { in dfsPostorder()
173 SmallVector<Operation *> queue(1, root); in dfsPostorder()
174 std::vector<Operation *> ops; in dfsPostorder()
176 Operation *current = queue.pop_back_val(); in dfsPostorder()
179 for (Operation *op : result.getUsers()) in dfsPostorder()
183 for (Operation &op : region.getOps()) in dfsPostorder()
188 for (Operation *op : llvm::reverse(ops)) { in dfsPostorder()
194 SetVector<Operation *>
195 mlir::topologicalSort(const SetVector<Operation *> &toSort) { in topologicalSort()
208 SetVector<Operation *> res; in topologicalSort()
221 Operation *ancestorOp) { in dependsOnCarriedVals()
223 SetVector<Operation *> slice; in dependsOnCarriedVals()
225 [&](Operation *op) { return !ancestorOp->isAncestor(op); }); in dependsOnCarriedVals()
234 for (Operation *op : slice) in dependsOnCarriedVals()
272 SmallVectorImpl<Operation *> &combinerOps) { in matchReduction()
280 Operation *combinerOp = *redCarriedVal.getUsers().begin(); in matchReduction()
287 Operation *redRegionOp = in matchReduction()
312 Operation *terminatorOp = combinerOp; in matchReduction()