MLIR-AIE 1.4.5.dev
AIEVecToLLVM.cpp File Reference
#include "../PassDetail.h"
#include "aie/Conversion/AIEVecToLLVM/AIEVecToLLVM.h"
#include "aie/Dialect/AIEVec/AIE1/IR/AIEVecAIE1Ops.h"
#include "aie/Dialect/AIEVec/AIEVecUtils.h"
#include "aie/Dialect/AIEVec/IR/AIEVecMatMul.h"
#include "aie/Dialect/AIEVec/IR/AIEVecOps.h"
#include "aie/Dialect/AIEVec/IR/AIEVecShuffleModes.h"
#include "aie/Dialect/AIEVec/Utils/Utils.h"
#include "aie/Dialect/XLLVM/XLLVMDialect.h"
#include "mlir/Conversion/LLVMCommon/ConversionTarget.h"
#include "mlir/Conversion/LLVMCommon/Pattern.h"
#include "mlir/Dialect/LLVMIR/LLVMDialect.h"
#include "mlir/Dialect/Math/IR/Math.h"
#include "mlir/Dialect/UB/IR/UBOps.h"
#include "mlir/IR/TypeUtilities.h"
#include <numeric>
#include <sstream>
#include "aie/Conversion/Passes.h.inc"
Include dependency graph for AIEVecToLLVM.cpp:

Go to the source code of this file.

Classes

struct  xilinx::aievec::BufferParams
class  xilinx::aievec::AddOpConversion
class  xilinx::aievec::AddElemOpAIE2Conversion
struct  xilinx::aievec::AddElemOpAIE2Conversion::DecodedAddElemOp
class  xilinx::aievec::SubElemOpAIE2Conversion
struct  xilinx::aievec::SubElemOpAIE2Conversion::DecodedSubElemOp
class  xilinx::aievec::AccFloatAddSubAIE2pConversion< SrcOpTy, IntrOpTy >
class  xilinx::aievec::NegOpAIE2Conversion
class  xilinx::aievec::NegOpAIE2pConversion
class  xilinx::aievec::SubOpConversion
class  xilinx::aievec::FMAOpConversion
class  xilinx::aievec::MulOpConversion
class  xilinx::aievec::MulElemOpConversion
struct  xilinx::aievec::MulElemOpConversion::DecodedMulElemOp
class  xilinx::aievec::MulElemOpAIE2pConversion
struct  xilinx::aievec::MulElemOpAIE2pConversion::DecodedMulElemOp
class  xilinx::aievec::FMAElemOpAIE2pConversion
class  xilinx::aievec::UPSOpAIE2Conversion
class  xilinx::aievec::UPSOpAIE2pConversion
class  xilinx::aievec::SRSOpAIE2Conversion
class  xilinx::aievec::SRSOpAIE2pConversion
class  xilinx::aievec::UPDOpConversion
class  xilinx::aievec::ConcatOpConversion
class  xilinx::aievec::ExtOpConversion
class  xilinx::aievec::ExtOpAIE2pConversion
class  xilinx::aievec::SelectOpConversion
class  xilinx::aievec::PackOpConversion
class  xilinx::aievec::UnpackOpConversion
class  xilinx::aievec::UnpackI4OpAIE2pConversion
class  xilinx::aievec::BroadcastOpConversion
class  xilinx::aievec::MaxOpConversion
class  xilinx::aievec::MinOpConversion
class  xilinx::aievec::MaxOpAIE2pConversion
class  xilinx::aievec::MinOpAIE2pConversion
class  xilinx::aievec::CmpOpConversionBase< MaxLtBf16IntrOp, MinGeBf16IntrOp, MaxLt32IntrOp, MinGe32IntrOp, MaxLt16IntrOp, MinGe16IntrOp >
class  xilinx::aievec::SelOpConversionBase< Sel16IntrOp, Sel32IntrOp >
class  xilinx::aievec::BroadcastScalarOpConversion
class  xilinx::aievec::BroadcastScalarOpAIE2pConversion
class  xilinx::aievec::ShiftOpConversion
class  xilinx::aievec::ShiftOpAIE2pConversion
class  xilinx::aievec::ExtractElemOpConversion
class  xilinx::aievec::FMAElemOpConversion
struct  xilinx::aievec::ResolvedMatMulOperand
class  xilinx::aievec::MatMulOpConversion
class  xilinx::aievec::MatMulOpAIE2pConversion
class  xilinx::aievec::FoldAIECastOps
class  xilinx::aievec::FoldAIECastOpsAIE2p
class  xilinx::aievec::ShuffleOpConversion
class  xilinx::aievec::ShuffleOpAIE2pConversion
class  xilinx::aievec::InvOpAIE2pConversion
class  xilinx::aievec::ExpOpAIE2pConversion
class  xilinx::aievec::AccFloatUnaryOpAIE2pConversion< SrcOpTy, IntrOpTy >
class  xilinx::aievec::RsqrtOpAIE2pConversion
class  xilinx::aievec::OneLaneBroadcastOpConversion
class  xilinx::aievec::OneLaneInsertOpConversion
class  xilinx::aievec::FdivOpConversion
class  xilinx::aievec::ExtractElemOpAIE2pConversion
class  xilinx::aievec::ConcatOpAIE2pConversion
struct  xilinx::aievec::ConvertAIEVecToLLVMPass

Namespaces

namespace  xilinx
namespace  xilinx::aievec

Macros

#define GEN_PASS_DEF_CONVERTAIEVECTOLLVM

Typedefs

using xilinx::aievec::AddElemOpAIE2pConversion
using xilinx::aievec::SubElemOpAIE2pConversion
using xilinx::aievec::CmpOpConversion
using xilinx::aievec::CmpOpAIE2pConversion
using xilinx::aievec::SelOpConversion
using xilinx::aievec::SelOpAIE2pConversion

Enumerations

enum class  xilinx::aievec::AIEArch { xilinx::aievec::AIE2 , xilinx::aievec::AIE2p }

Functions

void xilinx::aievec::populateAIEVecToLLVMCommonConversionPatterns (mlir::LLVMTypeConverter &converter, mlir::RewritePatternSet &patterns)
void xilinx::aievec::populateAIEVecToLLVMAIE2pConversionPatterns (mlir::LLVMTypeConverter &converter, mlir::RewritePatternSet &patterns)
void xilinx::aievec::populateAIEVecToLLVMConversionPatterns (mlir::LLVMTypeConverter &converter, mlir::RewritePatternSet &patterns, Aie2Fp32Emulation aie2Fp32EmulationOption, StringRef aieTarget)
std::unique_ptr< mlir::OperationPass< mlir::ModuleOp > > xilinx::aievec::createConvertAIEVecToLLVMPass ()
std::unique_ptr< mlir::OperationPass< mlir::ModuleOp > > xilinx::aievec::createConvertAIEVecToLLVMPass (const xilinx::ConvertAIEVecToLLVMOptions &options)

Macro Definition Documentation

◆ GEN_PASS_DEF_CONVERTAIEVECTOLLVM

#define GEN_PASS_DEF_CONVERTAIEVECTOLLVM

Definition at line 30 of file AIEVecToLLVM.cpp.