MLIR
20.0.0git
|
#include "mlir/Analysis/SliceAnalysis.h"
#include "mlir/Analysis/TopologicalSortUtils.h"
#include "mlir/IR/Block.h"
#include "mlir/IR/Operation.h"
#include "mlir/Interfaces/SideEffectInterfaces.h"
#include "mlir/Support/LLVM.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/ADT/SetVector.h"
#include "llvm/ADT/SmallPtrSet.h"
Go to the source code of this file.
Functions | |
static void | getForwardSliceImpl (Operation *op, SetVector< Operation * > *forwardSlice, const SliceOptions::TransitiveFilter &filter=nullptr) |
static void | getBackwardSliceImpl (Operation *op, SetVector< Operation * > *backwardSlice, const BackwardSliceOptions &options) |
static bool | dependsOnCarriedVals (Value value, ArrayRef< BlockArgument > iterCarriedArgs, Operation *ancestorOp) |
Returns true if value (transitively) depends on iteration-carried values of the given ancestorOp . More... | |
|
static |
Returns true if value
(transitively) depends on iteration-carried values of the given ancestorOp
.
Definition at line 187 of file SliceAnalysis.cpp.
References mlir::SliceOptions::filter, mlir::getBackwardSlice(), and mlir::Operation::isAncestor().
Referenced by mlir::matchReduction().
|
static |
Definition at line 83 of file SliceAnalysis.cpp.
References mlir::Region::getBlocks(), mlir::Operation::getNumRegions(), mlir::Operation::getOpOperands(), mlir::Block::getParentOp(), mlir::Operation::getRegion(), mlir::Operation::getRegions(), mlir::Operation::hasTrait(), options, processValue(), and mlir::Region::walk().
Referenced by mlir::getBackwardSlice().
|
static |
Definition at line 30 of file SliceAnalysis.cpp.
References mlir::Operation::getRegions(), mlir::Operation::getResults(), and mlir::Operation::getUsers().
Referenced by mlir::getForwardSlice().