MLIR-AIE 1.4.5.dev
BdLowering.h File Reference
#include "mlir/Dialect/Utils/StaticValueUtils.h"
#include "mlir/IR/Builders.h"
#include "mlir/IR/BuiltinTypes.h"
#include "mlir/IR/Operation.h"
#include "mlir/IR/Value.h"
#include "mlir/Support/LLVM.h"
#include "llvm/ADT/ArrayRef.h"
#include "llvm/ADT/Twine.h"
#include <cstdint>
#include <numeric>
#include <tuple>
Include dependency graph for BdLowering.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  xilinx::AIEX::ConstStridePolicy
struct  xilinx::AIEX::SsaStridePolicy
struct  xilinx::AIEX::BdTemplateFields

Namespaces

namespace  xilinx
namespace  xilinx::AIE
namespace  xilinx::AIEX

Functions

int64_t xilinx::AIEX::bdGranuleDivisor (uint64_t elemWidth, uint32_t addressGranularity)
bool xilinx::AIEX::isConstMultipleOfGranule (int64_t value, uint64_t elemWidth, uint32_t addressGranularity)
mlir::LogicalResult xilinx::AIEX::verifyConstBdRealizability (mlir::Operation *op, llvm::ArrayRef< mlir::OpFoldResult > sizes, llvm::ArrayRef< mlir::OpFoldResult > strides, uint64_t elemWidth, uint32_t gran)
template<typename Policy>
void xilinx::AIEX::encodeHardwareStridesWraps (Policy &p, uint64_t elemWidth, uint32_t addressGranularity, typename Policy::V inputSizes[4], typename Policy::V inputStrides[4], typename Policy::V sizes[4], typename Policy::V strides[4])
mlir::LogicalResult xilinx::AIEX::emitRuntimeCheck (mlir::OpBuilder &builder, mlir::Location loc, mlir::Value cond, const llvm::Twine &message)
void xilinx::AIEX::eraseDeadArith (mlir::Operation *root)
mlir::Value xilinx::AIEX::getAsValue (mlir::OpBuilder &builder, mlir::Location loc, mlir::OpFoldResult ofr, mlir::Type intType)
mlir::Value xilinx::AIEX::getAsI64 (mlir::OpBuilder &builder, mlir::Location loc, mlir::OpFoldResult ofr)
mlir::Value xilinx::AIEX::buildArgPlusValue (mlir::OpBuilder &builder, mlir::Location loc, llvm::ArrayRef< mlir::OpFoldResult > elementOffsets, llvm::ArrayRef< mlir::OpFoldResult > strides, int64_t elemWidthBytes, int64_t baseByteOffset, uint32_t granuleBytes)
mlir::LogicalResult xilinx::AIEX::guardWithinHostBuffer (mlir::OpBuilder &builder, mlir::Location loc, mlir::BaseMemRefType hostBufferType, int64_t baseByteOffset, int64_t elemWidthBytes, llvm::ArrayRef< mlir::OpFoldResult > offsets, llvm::ArrayRef< mlir::OpFoldResult > offsetStrides, llvm::ArrayRef< mlir::OpFoldResult > sizes, llvm::ArrayRef< mlir::OpFoldResult > strides)
mlir::Value xilinx::AIEX::buildBdWord (mlir::OpBuilder &builder, mlir::Location loc, llvm::ArrayRef< std::tuple< mlir::Value, uint32_t, uint32_t > > fields)
mlir::Value xilinx::AIEX::getBdRegisterBase (mlir::OpBuilder &builder, mlir::Location loc, const xilinx::AIE::AIETargetModel &targetModel, int tileCol, int tileRow, mlir::OpFoldResult bdId)
mlir::LogicalResult xilinx::AIEX::buildBdWords (mlir::OpBuilder &builder, mlir::Location loc, const xilinx::AIE::AIETargetModel &targetModel, int tileCol, int tileRow, const BdTemplateFields &fields, llvm::ArrayRef< mlir::OpFoldResult > mixedSizes, llvm::ArrayRef< mlir::OpFoldResult > mixedStrides, uint64_t elemWidth, uint32_t burstLength, uint32_t axcache, mlir::OpFoldResult lenElems, mlir::Value &repeatCountOut, llvm::SmallVectorImpl< mlir::Value > &wordsOut)