MLIR 22.0.0git
ControlFlowInterfaces.h File Reference
#include "mlir/IR/OpDefinition.h"
#include "mlir/IR/Operation.h"
#include "llvm/ADT/PointerUnion.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/Support/raw_ostream.h"
#include "mlir/Interfaces/ControlFlowInterfaces.h.inc"

Go to the source code of this file.

Classes

class  mlir::SuccessorOperands
 This class models how operands are forwarded to block arguments in control flow. More...
class  mlir::RegionSuccessor
 This class represents a successor of a region. More...
class  mlir::RegionBranchPoint
 This class represents a point being branched from in the methods of the RegionBranchOpInterface. More...
class  mlir::InvocationBounds
 This class represents upper and lower bounds on the number of times a region of a RegionBranchOpInterface can be invoked. More...
struct  mlir::OpTrait::ReturnLike< ConcreteType >
 This trait indicates that a terminator operation is "return-like". More...

Namespaces

namespace  mlir
 Include the generated interface declarations.
namespace  mlir::detail
 AttrTypeReplacer.
namespace  mlir::OpTrait

Functions

std::optional< BlockArgumentmlir::detail::getBranchSuccessorArgument (const SuccessorOperands &operands, unsigned operandIndex, Block *successor)
 Return the BlockArgument corresponding to operand operandIndex in some successor if operandIndex is within the range of operands, or std::nullopt if operandIndex isn't a successor operand index.
LogicalResult mlir::detail::verifyBranchSuccessorOperands (Operation *op, unsigned succNo, const SuccessorOperands &operands)
 Verify that the given operands match those of the given successor block.
LogicalResult mlir::detail::verifyBranchWeights (Operation *op)
 Verify that the branch weights attached to an operation implementing WeightedBranchOpInterface are correct.
LogicalResult mlir::detail::verifyRegionBranchWeights (Operation *op)
 Verify that the region weights attached to an operation implementing WeightedRegiobBranchOpInterface are correct.
LogicalResult mlir::detail::verifyTypesAlongControlFlowEdges (Operation *op)
 Verify that types match along control flow edges described the given op.
bool mlir::operator!= (RegionBranchPoint lhs, RegionBranchPoint rhs)
llvm::raw_ostream & mlir::operator<< (llvm::raw_ostream &os, RegionBranchPoint point)
llvm::raw_ostream & mlir::operator<< (llvm::raw_ostream &os, RegionSuccessor successor)
bool mlir::insideMutuallyExclusiveRegions (Operation *a, Operation *b)
 Return true if a and b are in mutually exclusive regions as per RegionBranchOpInterface.
Regionmlir::getEnclosingRepetitiveRegion (Operation *op)
 Return the first enclosing region of the given op that may be executed repetitively as per RegionBranchOpInterface or nullptr if no such region exists.
Regionmlir::getEnclosingRepetitiveRegion (Value value)
 Return the first enclosing region of the given Value that may be executed repetitively as per RegionBranchOpInterface or nullptr if no such region exists.