MLIR  18.0.0git
Functions
ControlFlowInterfaces.cpp File Reference
#include <utility>
#include "mlir/IR/BuiltinTypes.h"
#include "mlir/Interfaces/ControlFlowInterfaces.h"
#include "llvm/ADT/SmallPtrSet.h"
#include "mlir/Interfaces/ControlFlowInterfaces.cpp.inc"

Go to the source code of this file.

Functions

static InFlightDiagnosticprintRegionEdgeName (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 isRegionReachable (Region *begin, Region *r)
 Return true if region r is reachable from region begin according to the RegionBranchOpInterface (by taking a branch). More...
 

Function Documentation

◆ 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 223 of file ControlFlowInterfaces.cpp.

References mlir::Region::getParentOp().

Referenced by mlir::insideMutuallyExclusiveRegions().

◆ printRegionEdgeName()

static InFlightDiagnostic& printRegionEdgeName ( InFlightDiagnostic diag,
RegionBranchPoint  sourceNo,
RegionBranchPoint  succRegionNo 
)
static

Definition at line 87 of file ControlFlowInterfaces.cpp.

References diag(), and mlir::RegionBranchPoint::getRegionOrNull().

◆ verifyTypesAlongAllEdges()

static LogicalResult verifyTypesAlongAllEdges ( Operation op,
RegionBranchPoint  sourcePoint,
function_ref< FailureOr< TypeRange >(RegionBranchPoint)>  getInputsTypesForRegion 
)
static

Verify that types match along all region control flow edges originating from sourcePoint.

getInputsTypesForRegion is a function that returns the types of the inputs that flow to a successor region.

Definition at line 108 of file ControlFlowInterfaces.cpp.