|
MLIR 22.0.0git
|
#include "LoopEmitter.h"#include "CodegenUtils.h"#include "mlir/Dialect/Arith/IR/Arith.h"#include "mlir/Dialect/Bufferization/IR/Bufferization.h"#include "mlir/Dialect/Linalg/Utils/Utils.h"#include "mlir/Dialect/MemRef/IR/MemRef.h"#include "mlir/Dialect/SCF/IR/SCF.h"#include "mlir/Dialect/SparseTensor/IR/SparseTensorType.h"#include "mlir/Dialect/Tensor/IR/Tensor.h"Go to the source code of this file.
Macros | |
| #define | CMPI(p, l, r) |
| #define | C_IDX(v) |
| #define | YIELD(vs) |
| #define | ADDI(lhs, rhs) |
| #define | ANDI(lhs, rhs) |
| #define | SUBI(lhs, rhs) |
| #define | MULI(lhs, rhs) |
| #define | REMUI(lhs, rhs) |
| #define | DIVUI(lhs, rhs) |
| #define | SELECT(c, l, r) |
Functions | |
| static void | dumpIndexMemRef (OpBuilder &builder, Location loc, Value memref) |
| static Value | genSliceOffset (OpBuilder &builder, Location loc, Value tensor, Level lvl) |
| static Value | genSliceStride (OpBuilder &builder, Location loc, Value tensor, Level lvl) |
| static bool | isIntOrFPZero (Attribute attr) |
| static Value | unFoldOpIntResult (OpBuilder &builder, Location loc, OpFoldResult ofr) |
| static Value | tryFoldTensors (Value t) |
Definition at line 33 of file LoopEmitter.cpp.
Referenced by mlir::sparse_tensor::LoopEmitter::genAffine().
Definition at line 34 of file LoopEmitter.cpp.
Referenced by mlir::sparse_tensor::genCoIteration().
| #define C_IDX | ( | v | ) |
Definition at line 31 of file LoopEmitter.cpp.
Referenced by mlir::sparse_tensor::LoopEmitter::enterNewLoopSeq(), mlir::sparse_tensor::LoopEmitter::genAffine(), mlir::sparse_tensor::makeNonEmptySubSectIterator(), mlir::sparse_tensor::makeTraverseSubSectIterator(), and mlir::sparse_tensor::SparseIterationSpace::SparseIterationSpace().
| #define CMPI | ( | p, | |
| l, | |||
| r ) |
Definition at line 27 of file LoopEmitter.cpp.
Referenced by mlir::sparse_tensor::genCoIteration().
Definition at line 38 of file LoopEmitter.cpp.
Definition at line 36 of file LoopEmitter.cpp.
Referenced by mlir::sparse_tensor::LoopEmitter::genAffine().
Definition at line 37 of file LoopEmitter.cpp.
| #define SELECT | ( | c, | |
| l, | |||
| r ) |
Definition at line 39 of file LoopEmitter.cpp.
Referenced by mlir::sparse_tensor::genCoIteration().
Definition at line 35 of file LoopEmitter.cpp.
| #define YIELD | ( | vs | ) |
Definition at line 32 of file LoopEmitter.cpp.
Referenced by mlir::sparse_tensor::SparseIterator::forwardIf().
Definition at line 46 of file LoopEmitter.cpp.
References mlir::sparse_tensor::createFuncCall(), mlir::Builder::getIndexType(), and mlir::sparse_tensor::On.
Definition at line 64 of file LoopEmitter.cpp.
References mlir::sparse_tensor::createOrFoldSliceOffsetOp(), mlir::sparse_tensor::getSparseTensorEncoding(), and mlir::sparse_tensor::toDim().
Definition at line 70 of file LoopEmitter.cpp.
References mlir::sparse_tensor::createOrFoldSliceStrideOp(), mlir::sparse_tensor::getSparseTensorEncoding(), and mlir::sparse_tensor::toDim().
Definition at line 76 of file LoopEmitter.cpp.
Referenced by tryFoldTensors().
Definition at line 91 of file LoopEmitter.cpp.
References mlir::Value::getDefiningOp(), isIntOrFPZero(), mlir::m_Constant(), mlir::m_Op(), mlir::matchPattern(), and mlir::sparse_tensor::tryGetSparseTensorType().
Referenced by mlir::sparse_tensor::LoopEmitter::initializeLoopEmit().
|
static |
Definition at line 84 of file LoopEmitter.cpp.
References mlir::sparse_tensor::constantIndex(), and mlir::getConstantIntValue().