MLIR-AIE 1.4.5.dev
AIEVecOps.cpp File Reference
#include "mlir/Dialect/Arith/IR/Arith.h"
#include "mlir/Dialect/LLVMIR/LLVMTypes.h"
#include "mlir/IR/DialectImplementation.h"
#include "mlir/IR/OpDefinition.h"
#include "mlir/IR/TypeUtilities.h"
#include "mlir/Transforms/FoldUtils.h"
#include "llvm/ADT/TypeSwitch.h"
#include "aie/Dialect/AIE/IR/AIEDialect.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/IR/AIEVecEnums.cpp.inc"
#include "aie/Dialect/AIEVec/IR/AIEVecOpsDialect.cpp.inc"
#include "aie/Dialect/AIEVec/IR/AIEVecAttributes.cpp.inc"
#include "aie/Dialect/AIEVec/IR/AIEVecOps.cpp.inc"
Include dependency graph for AIEVecOps.cpp:

Go to the source code of this file.

Macros

#define GET_ATTRDEF_LIST
#define GET_OP_LIST
#define GET_ATTRDEF_CLASSES
#define GET_OP_CLASSES

Functions

template<typename T>
void printAccumulator (OpAsmPrinter &p, T op)
template<>
void printAccumulator (OpAsmPrinter &p, aievec::FMAElemOp op)
template<>
void printAccumulator (OpAsmPrinter &p, aievec::MulElemOp op)
template<typename T>
void elideFMSubAttr (T op, SmallVector< StringRef, 4 > &elidedAttrs)
template<>
void elideFMSubAttr (aievec::FMAElemOp op, SmallVector< StringRef, 4 > &elidedAttrs)
template<>
void elideFMSubAttr (aievec::MulElemOp op, SmallVector< StringRef, 4 > &elidedAttrs)
template<>
void printAccumulator (OpAsmPrinter &p, aievec::FMAConvOp op)
template<>
void printAccumulator (OpAsmPrinter &p, aievec::MulConvOp op)
template<>
void elideFMSubAttr (FMAConvOp op, SmallVector< StringRef, 4 > &elidedAttrs)
template<>
void elideFMSubAttr (MulConvOp op, SmallVector< StringRef, 4 > &elidedAttrs)

Macro Definition Documentation

◆ GET_ATTRDEF_CLASSES

#define GET_ATTRDEF_CLASSES

Definition at line 1802 of file AIEVecOps.cpp.

◆ GET_ATTRDEF_LIST

#define GET_ATTRDEF_LIST

◆ GET_OP_CLASSES

#define GET_OP_CLASSES

Definition at line 1805 of file AIEVecOps.cpp.

◆ GET_OP_LIST

#define GET_OP_LIST

Function Documentation

◆ elideFMSubAttr() [1/5]

template<>
void elideFMSubAttr ( aievec::FMAElemOp op,
SmallVector< StringRef, 4 > & elidedAttrs )
inline

Definition at line 637 of file AIEVecOps.cpp.

◆ elideFMSubAttr() [2/5]

template<>
void elideFMSubAttr ( aievec::MulElemOp op,
SmallVector< StringRef, 4 > & elidedAttrs )
inline

Definition at line 644 of file AIEVecOps.cpp.

◆ elideFMSubAttr() [3/5]

template<>
void elideFMSubAttr ( FMAConvOp op,
SmallVector< StringRef, 4 > & elidedAttrs )
inline

Definition at line 1629 of file AIEVecOps.cpp.

◆ elideFMSubAttr() [4/5]

template<>
void elideFMSubAttr ( MulConvOp op,
SmallVector< StringRef, 4 > & elidedAttrs )
inline

Definition at line 1636 of file AIEVecOps.cpp.

◆ elideFMSubAttr() [5/5]

template<typename T>
void elideFMSubAttr ( T op,
SmallVector< StringRef, 4 > & elidedAttrs )

◆ printAccumulator() [1/5]

template<>
void printAccumulator ( OpAsmPrinter & p,
aievec::FMAConvOp op )
inline

Definition at line 1619 of file AIEVecOps.cpp.

◆ printAccumulator() [2/5]

template<>
void printAccumulator ( OpAsmPrinter & p,
aievec::FMAElemOp op )
inline

Definition at line 627 of file AIEVecOps.cpp.

◆ printAccumulator() [3/5]

template<>
void printAccumulator ( OpAsmPrinter & p,
aievec::MulConvOp op )
inline

Definition at line 1623 of file AIEVecOps.cpp.

◆ printAccumulator() [4/5]

template<>
void printAccumulator ( OpAsmPrinter & p,
aievec::MulElemOp op )
inline

Definition at line 631 of file AIEVecOps.cpp.

◆ printAccumulator() [5/5]

template<typename T>
void printAccumulator ( OpAsmPrinter & p,
T op )