My Project
Namespaces | Macros | Functions
ConvertStandardToSPIRV.cpp File Reference
#include "mlir/Dialect/SPIRV/LayoutUtils.h"
#include "mlir/Dialect/SPIRV/SPIRVDialect.h"
#include "mlir/Dialect/SPIRV/SPIRVLowering.h"
#include "mlir/Dialect/SPIRV/SPIRVOps.h"
#include "mlir/Dialect/StandardOps/Ops.h"
#include "mlir/IR/AffineMap.h"
#include "llvm/ADT/SetVector.h"
#include "StandardToSPIRV.cpp.inc"
Include dependency graph for ConvertStandardToSPIRV.cpp:

Namespaces

 mlir
 

Macros

#define DISPATCH(cmpPredicate, spirvOp)
 
#define DISPATCH(cmpPredicate, spirvOp)
 

Functions

spirv::AccessChainOp getElementPtr (OpBuilder &builder, SPIRVTypeConverter &typeConverter, Location loc, MemRefType origBaseType, Value basePtr, ArrayRef< Value > indices)
 
void mlir::populateStandardToSPIRVPatterns (MLIRContext *context, SPIRVTypeConverter &typeConverter, OwningRewritePatternList &patterns)
 

Macro Definition Documentation

◆ DISPATCH [1/2]

#define DISPATCH (   cmpPredicate,
  spirvOp 
)
Value:
case cmpPredicate: \
rewriter.replaceOpWithNewOp<spirvOp>( \
cmpFOp, cmpFOp.getResult()->getType(), cmpFOpOperands.lhs(), \
cmpFOpOperands.rhs()); \
return matchSuccess();

◆ DISPATCH [2/2]

#define DISPATCH (   cmpPredicate,
  spirvOp 
)
Value:
case cmpPredicate: \
rewriter.replaceOpWithNewOp<spirvOp>( \
cmpIOp, cmpIOp.getResult()->getType(), cmpIOpOperands.lhs(), \
cmpIOpOperands.rhs()); \
return matchSuccess();

Function Documentation

◆ getElementPtr()

spirv::AccessChainOp getElementPtr ( OpBuilder builder,
SPIRVTypeConverter typeConverter,
Location  loc,
MemRefType  origBaseType,
Value  basePtr,
ArrayRef< Value indices 
)

Performs the index computation to get to the element pointed to by indices using the layout map of baseType.