MLIR  19.0.0git
Functions
SliceAnalysis.cpp File Reference
#include "mlir/Analysis/SliceAnalysis.h"
#include "mlir/IR/BuiltinOps.h"
#include "mlir/IR/Operation.h"
#include "mlir/Interfaces/SideEffectInterfaces.h"
#include "mlir/Support/LLVM.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 void dfsPostorder (Operation *root, DFSState *state)
 
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...
 

Function Documentation

◆ dependsOnCarriedVals()

static bool dependsOnCarriedVals ( Value  value,
ArrayRef< BlockArgument iterCarriedArgs,
Operation ancestorOp 
)
static

Returns true if value (transitively) depends on iteration-carried values of the given ancestorOp.

Definition at line 225 of file SliceAnalysis.cpp.

References mlir::SliceOptions::filter.

Referenced by mlir::matchReduction().

◆ dfsPostorder()

static void dfsPostorder ( Operation root,
DFSState *  state 
)
static

Definition at line 180 of file SliceAnalysis.cpp.

◆ getBackwardSliceImpl()

static void getBackwardSliceImpl ( Operation op,
SetVector< Operation * > *  backwardSlice,
const BackwardSliceOptions options 
)
static

Definition at line 81 of file SliceAnalysis.cpp.

◆ getForwardSliceImpl()

static void getForwardSliceImpl ( Operation op,
SetVector< Operation * > *  forwardSlice,
const SliceOptions::TransitiveFilter filter = nullptr 
)
static

Definition at line 28 of file SliceAnalysis.cpp.

Referenced by mlir::getForwardSlice().