MLIR 24.0.0git
VectorToGPUUtils.h File Reference
#include "mlir/IR/Value.h"
#include "mlir/Support/LogicalResult.h"
#include "llvm/ADT/DenseMap.h"
#include <cstdint>
#include <optional>

Go to the source code of this file.

Namespaces

namespace  mlir
 Include the generated interface declarations.
namespace  mlir::arith
namespace  mlir::gpu
namespace  mlir::scf
namespace  mlir::vector

Functions

bool mlir::constantSupportsMMAMatrixType (arith::ConstantOp constantOp)
 Return true if the constant is a splat to a 2D vector so that it can be converted to an MMA constant matrix op.
bool mlir::broadcastSupportsMMAMatrixType (vector::BroadcastOp broadcastOp)
 Return true if this is a broadcast from scalar to a 2D vector.
template<typename ExtOpTy>
bool mlir::integerExtendSupportsMMAMatrixType (ExtOpTy extOp)
 Return true if this integer extend op can be folded into a contract op.
template bool mlir::integerExtendSupportsMMAMatrixType< arith::ExtSIOp > (arith::ExtSIOp)
template bool mlir::integerExtendSupportsMMAMatrixType< arith::ExtUIOp > (arith::ExtUIOp)
std::optional< gpu::MMAElementwiseOp > mlir::convertElementwiseOpToMMA (Operation *op)
 Return the MMA elementwise enum associated with the operation if supported.
bool mlir::elementwiseSupportsMMAMatrixType (Operation *op)
 Return true if the operation is supported as elementwise on an MMA matrix.
LogicalResult mlir::convertForOpForMMA (RewriterBase &rewriter, scf::ForOp op, llvm::DenseMap< Value, Value > &valueMapping)
 Extend loop-carried values with their converted counterparts.
LogicalResult mlir::convertYieldOpForMMA (RewriterBase &rewriter, scf::YieldOp op, llvm::DenseMap< Value, Value > &valueMapping)
 Update a yield operation to yield the converted values.
void mlir::populateVectorTransferReadTransposePatterns (RewritePatternSet &patterns)
 Populate patterns that fold vector.transpose into vector.transfer_read, including through arithmetic extension operations.