MLIR 22.0.0git
ControlFlowOps.cpp File Reference
#include "mlir/Dialect/SPIRV/IR/SPIRVEnums.h"
#include "mlir/Dialect/SPIRV/IR/SPIRVOps.h"
#include "mlir/Dialect/SPIRV/IR/SPIRVTypes.h"
#include "mlir/Interfaces/CallInterfaces.h"
#include "llvm/Support/InterleavedRange.h"
#include "SPIRVOpUtils.h"
#include "SPIRVParsingUtils.h"

Go to the source code of this file.

Namespaces

namespace  mlir
 Include the generated interface declarations.
namespace  mlir::spirv

Functions

template<typename EnumAttrClass, typename EnumClass>
static ParseResult mlir::spirv::parseControlAttribute (OpAsmParser &parser, OperationState &state, StringRef attrName=spirv::attributeName< EnumClass >())
 Parses Function, Selection and Loop control attributes.
static bool mlir::spirv::hasOneBranchOpTo (Block &srcBlock, Block &dstBlock)
 Returns true if the given srcBlock contains only one spirv.Branch to the given dstBlock.
static bool mlir::spirv::isMergeBlock (Block &block)
 Returns true if the given block only contains one spirv.mlir.merge op.
static bool mlir::spirv::hasOtherMerge (Region &region)
 Returns true if a spirv.mlir.merge op outside the merge block.