MLIR: lib/Interfaces/ControlFlowInterfaces.cpp File Reference (original) (raw)

#include <utility>
#include "[mlir/IR/BuiltinTypes.h](mlir%5F2IR%5F2BuiltinTypes%5F8h%5Fsource.html)"
#include "[mlir/Interfaces/CallInterfaces.h](CallInterfaces%5F8h%5Fsource.html)"
#include "[mlir/Interfaces/ControlFlowInterfaces.h](ControlFlowInterfaces%5F8h%5Fsource.html)"
#include "llvm/ADT/SmallPtrSet.h"
#include "mlir/Interfaces/ControlFlowInterfaces.cpp.inc"

Go to the source code of this file.

Functions
static LogicalResult verifyWeights (Operation *op, llvm::ArrayRef< int32_t > weights, std::size_t expectedWeightsNum, llvm::StringRef weightAnchorName, llvm::StringRef weightRefName)
static InFlightDiagnostic & printRegionEdgeName (InFlightDiagnostic &diag, RegionBranchPoint sourceNo, RegionBranchPoint succRegionNo)
static LogicalResult verifyTypesAlongAllEdges (Operation *op, RegionBranchPoint sourcePoint, function_ref< FailureOr< TypeRange >(RegionBranchPoint)> getInputsTypesForRegion)
Verify that types match along all region control flow edges originating from sourcePoint. More...
static bool traverseRegionGraph (Region *begin, StopConditionFn stopConditionFn)
Traverse the region graph starting at begin. More...
static bool isRegionReachable (Region *begin, Region *r)
Return true if region r is reachable from region begin according to the RegionBranchOpInterface (by taking a branch). More...

StopConditionFn

Stop condition for traverseRegionGraph.

The traversal is interrupted if this function returns "true" for a successor region. The first parameter is the successor region. The second parameter indicates all already visited regions.

Definition at line 272 of file ControlFlowInterfaces.cpp.

isRegionReachable()

static bool isRegionReachable ( Region * begin, Region * r ) static

Return true if region r is reachable from region begin according to the RegionBranchOpInterface (by taking a branch).

Definition at line 311 of file ControlFlowInterfaces.cpp.

printRegionEdgeName()

traverseRegionGraph()

verifyTypesAlongAllEdges()

verifyWeights()

static LogicalResult verifyWeights ( Operation * op, llvm::ArrayRef< int32_t > weights, std::size_t expectedWeightsNum, llvm::StringRef weightAnchorName, llvm::StringRef weightRefName ) static