#include "circt/Transforms/Passes.h"
#include "mlir/Conversion/LLVMCommon/ConversionTarget.h"
#include "mlir/Conversion/LLVMCommon/Pattern.h"
#include "mlir/Dialect/Arith/IR/Arith.h"
#include "mlir/Dialect/ControlFlow/IR/ControlFlowOps.h"
#include "mlir/Dialect/Func/IR/FuncOps.h"
#include "mlir/Dialect/MemRef/IR/MemRef.h"
#include "mlir/IR/BuiltinDialect.h"
#include "mlir/IR/BuiltinTypes.h"
#include "mlir/IR/ImplicitLocOpBuilder.h"
#include "mlir/IR/OperationSupport.h"
#include "mlir/Pass/Pass.h"
#include "mlir/Transforms/DialectConversion.h"
#include "mlir/Transforms/GreedyPatternRewriteDriver.h"
#include "llvm/Support/FormatVariadic.h"
#include "llvm/Support/MathExtras.h"
#include "circt/Transforms/Passes.h.inc"
Go to the source code of this file.
|
struct | FunctionRewrite |
| A struct for maintaining function declarations which needs to be rewritten, if they contain memref arguments that was flattened. More...
|
|
|
| circt |
| The InstanceGraph op interface, see InstanceGraphInterface.td for more details.
|
|
◆ GEN_PASS_DEF_FLATTENMEMREF
#define GEN_PASS_DEF_FLATTENMEMREF |
◆ GEN_PASS_DEF_FLATTENMEMREFCALLS
#define GEN_PASS_DEF_FLATTENMEMREFCALLS |
◆ flattenIndices()
static Value flattenIndices |
( |
ConversionPatternRewriter & |
rewriter, |
|
|
Operation * |
op, |
|
|
ValueRange |
indices, |
|
|
MemRefType |
memrefType |
|
) |
| |
|
static |
◆ getFlattenedMemRefName()
static std::string getFlattenedMemRefName |
( |
StringAttr |
baseName, |
|
|
MemRefType |
type |
|
) |
| |
|
static |
◆ getFlattenedMemRefType()
static MemRefType getFlattenedMemRefType |
( |
MemRefType |
type | ) |
|
|
static |
◆ globalCounter()
static std::atomic<unsigned> globalCounter |
( |
0 |
| ) |
|
|
static |
◆ hasMultiDimMemRef()
static bool hasMultiDimMemRef |
( |
ValueRange |
values | ) |
|
|
static |
◆ globalNameMap
DenseMap<StringAttr, StringAttr> globalNameMap |
|
static |