MLIR  17.0.0git
Namespaces | Typedefs | Functions
SliceAnalysis.h File Reference
#include <functional>
#include <vector>
#include "mlir/Support/LLVM.h"
#include "llvm/ADT/SetVector.h"

Go to the source code of this file.

Namespaces

 mlir
 This header declares functions that assit transformations in the MemRef dialect.
 

Typedefs

using mlir::TransitiveFilter = llvm::function_ref< bool(Operation *)>
 Type of the condition to limit the propagation of transitive use-defs. More...
 

Functions

void mlir::getForwardSlice (Operation *op, SetVector< Operation * > *forwardSlice, TransitiveFilter filter=nullptr, bool inclusive=false)
 Fills forwardSlice with the computed forward slice (i.e. More...
 
void mlir::getForwardSlice (Value root, SetVector< Operation * > *forwardSlice, TransitiveFilter filter=nullptr, bool inclusive=false)
 Value-rooted version of getForwardSlice. More...
 
void mlir::getBackwardSlice (Operation *op, SetVector< Operation * > *backwardSlice, TransitiveFilter filter=nullptr, bool inclusive=false)
 Fills backwardSlice with the computed backward slice (i.e. More...
 
void mlir::getBackwardSlice (Value root, SetVector< Operation * > *backwardSlice, TransitiveFilter filter=nullptr, bool inclusive=false)
 Value-rooted version of getBackwardSlice. More...
 
SetVector< Operation * > mlir::getSlice (Operation *op, TransitiveFilter backwardFilter=nullptr, TransitiveFilter forwardFilter=nullptr, bool inclusive=false)
 Iteratively computes backward slices and forward slices until a fixed point is reached. More...
 
SetVector< Operation * > mlir::topologicalSort (const SetVector< Operation * > &toSort)
 Multi-root DAG topological sort. More...
 
Value mlir::matchReduction (ArrayRef< BlockArgument > iterCarriedArgs, unsigned redPos, SmallVectorImpl< Operation * > &combinerOps)
 Utility to match a generic reduction given a list of iteration-carried arguments, iterCarriedArgs and the position of the potential reduction argument within the list, redPos. More...