CIRCT 24.0.0git
Loading...
Searching...
No Matches
CFToHandshake.h File Reference
#include "circt/Dialect/Handshake/HandshakeOps.h"
#include "circt/Dialect/Handshake/HandshakePasses.h"
#include "circt/Support/BackedgeBuilder.h"
#include "mlir/Transforms/DialectConversion.h"
#include <memory>
#include "circt/Conversion/Passes.h.inc"
Include dependency graph for CFToHandshake.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  circt::handshake::HandshakeLowering
struct  circt::handshake::HandshakeLowering::MergeOpInfo

Namespaces

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

Macros

#define GEN_PASS_DECL_CFTOHANDSHAKE
#define GEN_PASS_DECL_HANDSHAKEREMOVEBLOCK

Typedefs

using circt::handshake::RegionLoweringFunc

Functions

LogicalResult circt::handshake::partiallyLowerRegion (const RegionLoweringFunc &loweringFunc, MLIRContext *ctx, Region &r)
template<typename T, typename... TArgs, typename... TArgs2>
LogicalResult circt::handshake::runPartialLowering (T &instance, LogicalResult(T::*memberFunc)(ConversionPatternRewriter &, TArgs2...), TArgs &...args)
void circt::handshake::removeBasicBlocks (Region &r)
 Remove basic blocks inside the given region.
template<typename TSrcTerm, typename TDstTerm>
LogicalResult circt::handshake::lowerRegion (HandshakeLowering &hl, bool sourceConstants, bool disableTaskPipelining, Value entryCtrl)
LogicalResult circt::handshake::postDataflowConvert (Operation *op)
 Lowers the mlir operations into handshake that are not part of the dataflow conversion.
std::unique_ptr< mlir::OperationPass< mlir::ModuleOp > > circt::createHandshakeAnalysisPass ()
std::unique_ptr< mlir::OperationPass< mlir::ModuleOp > > circt::createCFToHandshakePass (bool sourceConstants=false, bool disableTaskPipelining=false)
std::unique_ptr< mlir::OperationPass< handshake::FuncOp > > circt::createHandshakeCanonicalizePass ()
std::unique_ptr< mlir::OperationPass< handshake::FuncOp > > circt::createHandshakeRemoveBlockPass ()
mlir::LogicalResult circt::insertMergeBlocks (mlir::Region &r, mlir::ConversionPatternRewriter &rewriter)
 Insert additional blocks that serve as counterparts to the blocks that diverged the control flow.
std::unique_ptr< mlir::Pass > circt::createInsertMergeBlocksPass ()

Macro Definition Documentation

◆ GEN_PASS_DECL_CFTOHANDSHAKE

#define GEN_PASS_DECL_CFTOHANDSHAKE

Definition at line 32 of file CFToHandshake.h.

◆ GEN_PASS_DECL_HANDSHAKEREMOVEBLOCK

#define GEN_PASS_DECL_HANDSHAKEREMOVEBLOCK

Definition at line 33 of file CFToHandshake.h.