CIRCT  19.0.0git
Namespaces | Functions
PassHelpers.cpp File Reference
#include "PassDetails.h"
#include "circt/Dialect/ESI/ESIOps.h"
#include "circt/Dialect/Handshake/HandshakeOps.h"
#include "circt/Dialect/Handshake/HandshakePasses.h"
#include "circt/Dialect/Seq/SeqTypes.h"
#include "circt/Support/LLVM.h"
#include "mlir/Dialect/Arith/IR/Arith.h"
#include "mlir/IR/BuiltinTypes.h"
#include "mlir/IR/OperationSupport.h"
#include "mlir/IR/PatternMatch.h"
#include "llvm/ADT/TypeSwitch.h"
Include dependency graph for PassHelpers.cpp:

Go to the source code of this file.

Namespaces

 circt
 This file defines an intermediate representation for circuits acting as an abstraction for constraints defined over an SMT's solver context.
 
 circt::handshake
 

Functions

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)
 
static Type circt::handshake::tupleToStruct (TupleType tuple)
 
Type circt::handshake::toValidType (Type t)
 
esi::ChannelType circt::handshake::esiWrapper (Type t)
 
hw::ModulePortInfo circt::handshake::getPortInfoForOpTypes (Operation *op, TypeRange inputs, TypeRange outputs)
 

Variable Documentation

◆ builder

Builder builder
private

Definition at line 252 of file PassHelpers.cpp.

Referenced by addCallSiteOperands(), addStringToStringArrayAttr(), circt::FirRegLowering::addToAlwaysBlock(), circt::FirRegLowering::addToIfBlock(), applyEnableTransformation(), circt::firrtl::applyGCTDataTaps(), circt::firrtl::applyGCTMemTaps(), applyResetTransformation(), applyWireLowerings(), circt::firrtl::applyWiring(), bufferAllFIFOStrategy(), bufferAllStrategy(), bufferCyclesStrategy(), circt::handshake::bufferRegion(), bufferResults(), circt::calyx::buildAssignmentsForRegisterWrite(), buildClass(), buildComponentLike(), buildConcurrentVerifOp(), circt::scftocalyx::ForLoopLoweringStateInterface::buildForLoopIterArgAssignments(), buildImmediateVerifOp(), circt::scftocalyx::BuildOpGroups::buildLibraryBinaryPipeOp(), circt::calyx::LoopLoweringStateInterface< Loop >::buildLoopIterArgAssignments(), buildModule(), buildModuleLike(), LowerLayersPass::buildNewModule(), circt::scftocalyx::WhileLoopLoweringStateInterface::buildWhileLoopIterArgAssignments(), castFromFIRRTLType(), castToFIRRTLType(), cleanCalyxPortAttrs(), cloneAccess(), cloneConstantsIntoRegion(), cloneOpsIntoBranchesWhenUsedInBoth(), connectLeafsTo(), connectToLeafs(), circt::calyx::convIndexType(), circt::calyx::createConstant(), createGenericOp(), circt::calyx::createGroup(), circt::calyx::createInstance(), circt::FirMemLowering::createMemoryModule(), circt::comb::createOrFoldNot(), circt::comb::createOrFoldSExt(), createRandomizationAttributes(), circt::calyx::createRegister(), circt::FirRegLowering::createTree(), createZeroValue(), circt::DebugAnalysis::DebugAnalysis(), doConversion(), circt::msft::TclEmitter::emit(), circt::firrtl::emitConnect(), extendTypeWidth(), extractBits(), circt::Solver::Circuit::fetchOrAllocateExpr(), fixupAllModules(), fixupConnect(), circt::firrtl::foldWhenEncodedVerifOp(), forEachLeaf(), LowerXMRPass::garbageCollect(), circt::calyx::getCiderSourceLocationMetadata(), getFuncOpNames(), getGlobalString(), getHWParameters(), getIfAndBasedReset(), circt::calyx::ComponentLoweringStateInterface::getNewLibraryOpInstance(), circt::FirRegLowering::getOrCreateConstant(), LowerXMRPass::getOrCreatePath(), circt::FirMemLowering::getOrCreateSchema(), circt::firrtl::getValueByFieldID(), LowerXMRPass::handleForceReleaseOp(), LowerXMRPass::handlePublicModuleRefPorts(), LowerXMRPass::handleRefResolve(), circt::HWArithToHWTypeConverter::HWArithToHWTypeConverter(), circt::FirRegLowering::initialize(), circt::FirRegLowering::initializeRegisterElements(), insertBuffer(), insertResetMux(), invalidateOutputs(), legalizeHWModule(), circt::FirRegLowering::lower(), lowerBoundaryScalar(), lowerBoundaryVector(), circt::ExportVerilog::lowerHWInstanceChoices(), lowerInstanceResults(), lowerInternalPathAnno(), circt::FirMemLowering::lowerMemoriesInModule(), lowerStructExplodeOp(), lowerUsersToTemporaryWire(), ConvertCellOp::matchAndRewrite(), modifyGroupOperations(), parseClassLike(), parseHWModuleOp(), circt::parseOptionalParameterList(), circt::ssp::parseOptionalPropertyArray(), parseParameterList(), populateTypeConversion(), populateTypeConverter(), circt::Solver::printModel(), reduceXor(), LowerXMRPass::resolveReference(), LowerXMRPass::resolveReferencePath(), reuseExistingInOut(), FIRRTLModuleExternalizer::rewrite(), InstanceStubber::rewrite(), ExtmoduleInstanceRemover::rewrite(), EagerInliner::rewrite(), MemoryStubber::rewrite(), ModuleExternalizer::rewrite(), FIRRTLOperandForwarder< OpNum >::rewrite(), FIRRTLConstantifier::rewrite(), ConnectInvalidator::rewrite(), ConnectSourceOperandForwarder< OpNum >::rewrite(), DetachSubaccesses::rewrite(), HWOperandForwarder< OpNum >::rewrite(), HWConstantifier::rewrite(), StateElimination::rewrite(), rewriteAddWithNegativeConstant(), rewriteSideEffectingExpr(), roundtrip(), roundtripAs(), LowerLayersPass::runOnModuleBody(), LowerLayersPass::runOnOperation(), SFCCompatPass::runOnOperation(), HWExportModuleHierarchyPass::runOnOperation(), circt::ssp::saveProblem(), scheduleChainingCyclicProblemWithSimplex(), scheduleChainingProblemWithSimplex(), scheduleProblemTWithSimplex(), scheduleWith(), scheduleWithASAP(), scheduleWithSimplex(), setInsertPointToEndOrTerminator(), setResetOperandOfStateOp(), spillWiresForInstanceInputs(), tryEliminatingAttachesToAnalogValue(), tryEliminatingConnectsToValue(), circt::FirRegLowering::tryRestoringSubaccess(), circt::calyx::updateGroupAssignmentGuards(), updateInstanceInClass(), updateInstanceInModule(), updateInstancesInModule(), updateObjectInClass(), updateObjectsAndInstancesInClass(), and CompileControlVisitor::visit().

◆ inputs

llvm::SmallVector<StringAttr> inputs
private

◆ outputs

llvm::SmallVector<StringAttr> outputs
private