MLIR  19.0.0git
Namespaces | Functions
RegionUtils.h File Reference
#include "mlir/IR/Region.h"
#include "mlir/IR/Value.h"
#include "llvm/ADT/SetVector.h"

Go to the source code of this file.

Namespaces

 mlir
 Include the generated interface declarations.
 

Functions

template<typename Range >
bool mlir::areValuesDefinedAbove (Range values, Region &limit)
 Check if all values in the provided range are defined above the limit region. More...
 
void mlir::replaceAllUsesInRegionWith (Value orig, Value replacement, Region &region)
 Replace all uses of orig within the given region with replacement. More...
 
void mlir::visitUsedValuesDefinedAbove (Region &region, Region &limit, function_ref< void(OpOperand *)> callback)
 Calls callback for each use of a value within region or its descendants that was defined at the ancestors of the limit. More...
 
void mlir::visitUsedValuesDefinedAbove (MutableArrayRef< Region > regions, function_ref< void(OpOperand *)> callback)
 Calls callback for each use of a value within any of the regions provided that was defined in one of the ancestors. More...
 
void mlir::getUsedValuesDefinedAbove (Region &region, Region &limit, SetVector< Value > &values)
 Fill values with a list of values defined at the ancestors of the limit region and used within region or its descendants. More...
 
void mlir::getUsedValuesDefinedAbove (MutableArrayRef< Region > regions, SetVector< Value > &values)
 Fill values with a list of values used within any of the regions provided but defined in one of the ancestors. More...
 
SmallVector< Valuemlir::makeRegionIsolatedFromAbove (RewriterBase &rewriter, Region &region, llvm::function_ref< bool(Operation *)> cloneOperationIntoRegion=[](Operation *) { return false;})
 Make a region isolated from above. More...
 
LogicalResult mlir::simplifyRegions (RewriterBase &rewriter, MutableArrayRef< Region > regions)
 Run a set of structural simplifications over the given regions. More...
 
LogicalResult mlir::eraseUnreachableBlocks (RewriterBase &rewriter, MutableArrayRef< Region > regions)
 Erase the unreachable blocks within the provided regions. More...
 
LogicalResult mlir::runRegionDCE (RewriterBase &rewriter, MutableArrayRef< Region > regions)
 This function returns success if any operations or arguments were deleted, failure otherwise. More...
 
SetVector< Block * > mlir::getTopologicallySortedBlocks (Region &region)
 Get a topologically sorted list of blocks of the given region. More...