20#include "mlir/CAPI/Registration.h"
25 xilinx::aievec::AIEVecDialect)
33 return llvm::isa<xilinx::AIE::AIEObjectFifoType>(unwrap(type));
37 return wrap(xilinx::AIE::AIEObjectFifoType::get(
38 llvm::cast<mlir::MemRefType>(unwrap(type))));
46 return llvm::isa<xilinx::AIE::AIEObjectFifoSubviewType>(unwrap(type));
50 return wrap(xilinx::AIE::AIEObjectFifoSubviewType::get(
51 llvm::cast<mlir::MemRefType>(unwrap(type))));
59 return llvm::isa<xilinx::AIEX::BlockFloatType>(unwrap(type));
63 return wrap(xilinx::AIEX::BlockFloatType::get(unwrap(ctx), blockType));
71 return llvm::isa<xilinx::AIE::TileLike>(unwrap(op));
75 auto tileLike = llvm::dyn_cast<xilinx::AIE::TileLike>(unwrap(op));
76 return tileLike && tileLike.isCoreTile();
80 auto tileLike = llvm::dyn_cast<xilinx::AIE::TileLike>(unwrap(op));
81 return tileLike && tileLike.isMemTile();
85 auto tileLike = llvm::dyn_cast<xilinx::AIE::TileLike>(unwrap(op));
86 return tileLike && tileLike.isShimNOCTile();
90 auto tileLike = llvm::dyn_cast<xilinx::AIE::TileLike>(unwrap(op));
91 return tileLike && tileLike.isShimPLTile();
95 auto tileLike = llvm::dyn_cast<xilinx::AIE::TileLike>(unwrap(op));
96 return tileLike && tileLike.isShimNOCorPLTile();
bool aieTileLikeIsShimNOCorPLTile(MlirOperation op)
MlirType aieObjectFifoSubviewTypeGet(MlirType type)
bool aieTileLikeIsShimPLTile(MlirOperation op)
bool aieTypeIsObjectFifoSubviewType(MlirType type)
MlirType aieBlockFloatTypeGet(MlirContext ctx, const std::string &blockType)
bool aieOpImplementsTileLike(MlirOperation op)
bool aieTileLikeIsMemTile(MlirOperation op)
bool aieTileLikeIsShimNOCTile(MlirOperation op)
bool aieTileLikeIsCoreTile(MlirOperation op)
bool aieTypeIsBlockFloatType(MlirType type)
MlirType aieObjectFifoTypeGet(MlirType type)
MLIR_DEFINE_CAPI_DIALECT_REGISTRATION(AIEVec, aievec, xilinx::aievec::AIEVecDialect) bool aieTypeIsObjectFifoType(MlirType type)
MLIR_CAPI_EXPORTED bool aieTypeIsObjectFifoType(MlirType type)