CIRCT  19.0.0git
Namespaces | Macros | Typedefs | Functions
HandshakePasses.h File Reference
#include "circt/Support/LLVM.h"
#include <map>
#include <memory>
#include <optional>
#include <set>
#include "mlir/Dialect/Func/IR/FuncOps.h"
#include "mlir/Dialect/MemRef/IR/MemRef.h"
#include "mlir/Dialect/SCF/IR/SCF.h"
#include "circt/Dialect/Handshake/HandshakePasses.h.inc"
Include dependency graph for HandshakePasses.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

 circt
 The InstanceGraph op interface, see InstanceGraphInterface.td for more details.
 
 circt::handshake
 

Macros

#define GEN_PASS_REGISTRATION
 Generate the code for registering passes. More...
 

Typedefs

using circt::handshake::InstanceGraph = std::map< std::string, std::set< std::string > >
 Iterates over the handshake::FuncOp's in the program to build an instance graph. More...
 

Functions

std::unique_ptr< mlir::OperationPass< mlir::ModuleOp > > circt::handshake::createHandshakeDotPrintPass ()
 
std::unique_ptr< mlir::OperationPass< mlir::ModuleOp > > circt::handshake::createHandshakeOpCountPass ()
 
std::unique_ptr< mlir::Pass > circt::handshake::createHandshakeMaterializeForksSinksPass ()
 
std::unique_ptr< mlir::Pass > circt::handshake::createHandshakeDematerializeForksSinksPass ()
 
std::unique_ptr< mlir::Pass > circt::handshake::createHandshakeRemoveBuffersPass ()
 
std::unique_ptr< mlir::Pass > circt::handshake::createHandshakeAddIDsPass ()
 
std::unique_ptr< mlir::Pass > circt::handshake::createHandshakeLowerExtmemToHWPass (std::optional< bool > createESIWrapper={})
 
std::unique_ptr< mlir::Pass > circt::handshake::createHandshakeLegalizeMemrefsPass ()
 
std::unique_ptr< mlir::OperationPass< handshake::FuncOp > > circt::handshake::createHandshakeInsertBuffersPass (const std::string &strategy="all", unsigned bufferSize=2)
 
std::unique_ptr< mlir::Pass > circt::handshake::createHandshakeLockFunctionsPass ()
 
LogicalResult circt::handshake::resolveInstanceGraph (ModuleOp moduleOp, InstanceGraph &instanceGraph, std::string &topLevel, SmallVectorImpl< std::string > &sortedFuncs)
 Iterates over the handshake::FuncOp's in the program to build an instance graph. More...
 
LogicalResult circt::handshake::verifyAllValuesHasOneUse (handshake::FuncOp op)
 
LogicalResult circt::handshake::addSinkOps (Region &r, OpBuilder &rewriter)
 
LogicalResult circt::handshake::addForkOps (Region &r, OpBuilder &rewriter)
 
void circt::handshake::insertFork (Value result, bool isLazy, OpBuilder &rewriter)
 
LogicalResult circt::handshake::lockRegion (Region &r, OpBuilder &rewriter)
 
LogicalResult circt::handshake::bufferRegion (Region &r, OpBuilder &rewriter, StringRef strategy, unsigned bufferSize)
 

Macro Definition Documentation

◆ GEN_PASS_REGISTRATION

#define GEN_PASS_REGISTRATION

Generate the code for registering passes.

Definition at line 75 of file HandshakePasses.h.