MLIR  18.0.0git
ConvertToDestinationStyle.cpp File Reference
#include "mlir/Dialect/Arith/IR/Arith.h"
#include "mlir/Dialect/Arith/Utils/Utils.h"
#include "mlir/Dialect/Bufferization/IR/BufferizableOpInterface.h"
#include "mlir/Dialect/Bufferization/IR/Bufferization.h"
#include "mlir/Dialect/Linalg/IR/Linalg.h"
#include "mlir/Dialect/Linalg/Transforms/Transforms.h"
#include "mlir/Dialect/Tensor/IR/Tensor.h"
#include "mlir/Dialect/Utils/StaticValueUtils.h"
#include "mlir/IR/Matchers.h"
#include "mlir/IR/PatternMatch.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/Support/Debug.h"

Go to the source code of this file.


static Value createInserts (RewriterBase &rewriter, Location loc, int dim, Value destination, ArrayRef< int64_t > shape, ArrayRef< Value > constants, OperandRange::iterator &elementIt, SmallVectorImpl< Value > &indices)
static void createMemcpy (OpBuilder &b, Location loc, Value tensorSource, Value memrefDest, const linalg::BufferizeToAllocationOptions &options)
 Create a memcpy from the given source tensor to the given destination memref. More...
static OperationmovePaddingToFillOrGenericOp (RewriterBase &rewriter, Location loc, PadOp padOp, Value dest)
static SmallVector< ValuereifyOrComputeDynamicSizes (OpBuilder &b, Value value)
static Value createAllocationForTensor (RewriterBase &rewriter, Location loc, Value value, const linalg::BufferizeToAllocationOptions &options, Attribute memorySpace={})

Function Documentation

◆ createAllocationForTensor()

static Value createAllocationForTensor ( RewriterBase rewriter,
Location  loc,
Value  value,
const linalg::BufferizeToAllocationOptions options,
Attribute  memorySpace = {} 

Definition at line 192 of file ConvertToDestinationStyle.cpp.

Referenced by mlir::linalg::bufferizeToAllocation().

◆ createInserts()

static Value createInserts ( RewriterBase rewriter,
Location  loc,
int  dim,
Value  destination,
ArrayRef< int64_t >  shape,
ArrayRef< Value constants,
OperandRange::iterator &  elementIt,
SmallVectorImpl< Value > &  indices 

◆ createMemcpy()

static void createMemcpy ( OpBuilder b,
Location  loc,
Value  tensorSource,
Value  memrefDest,
const linalg::BufferizeToAllocationOptions options 

◆ movePaddingToFillOrGenericOp()

static Operation* movePaddingToFillOrGenericOp ( RewriterBase rewriter,
Location  loc,
PadOp  padOp,
Value  dest 

◆ reifyOrComputeDynamicSizes()

static SmallVector<Value> reifyOrComputeDynamicSizes ( OpBuilder b,
Value  value