CIRCT 22.0.0git
Loading...
Searching...
No Matches
Classes | Functions
Synth.cpp File Reference
#include "circt-c/Dialect/Synth.h"
#include "circt-c/Support/InstanceGraph.h"
#include "circt/Dialect/Synth/Analysis/LongestPathAnalysis.h"
#include "circt/Dialect/Synth/SynthDialect.h"
#include "circt/Dialect/Synth/Transforms/SynthPasses.h"
#include "circt/Dialect/Synth/Transforms/SynthesisPipeline.h"
#include "circt/Support/InstanceGraphInterface.h"
#include "mlir-c/BuiltinAttributes.h"
#include "mlir-c/IR.h"
#include "mlir-c/Support.h"
#include "mlir/CAPI/IR.h"
#include "mlir/CAPI/Registration.h"
#include "mlir/CAPI/Support.h"
#include "mlir/Pass/AnalysisManager.h"
#include "llvm/ADT/ImmutableList.h"
#include "llvm/ADT/PointerUnion.h"
#include "llvm/Support/JSON.h"
#include <memory>
#include <tuple>
Include dependency graph for Synth.cpp:

Go to the source code of this file.

Classes

struct  LongestPathAnalysisWrapper
 

Functions

void registerSynthesisPipeline ()
 
void registerSynthPasses ()
 
 DEFINE_C_API_PTR_METHODS (SynthLongestPathHistory, llvm::ImmutableListImpl< DebugPoint >) llvm
 
SynthLongestPathObject wrap (llvm::PointerUnion< Object *, DataflowPath::OutputPort * > object)
 
SynthLongestPathObject wrap (const Object *object)
 
SynthLongestPathObject wrap (const DataflowPath::OutputPort *object)
 
SynthLongestPathAnalysis synthLongestPathAnalysisCreate (MlirOperation module, bool collectDebugInfo, bool keepOnlyMaxDelayPaths, bool lazyComputation, MlirStringRef topModuleName)
 
void synthLongestPathAnalysisDestroy (SynthLongestPathAnalysis analysis)
 
SynthLongestPathCollection synthLongestPathAnalysisGetPaths (SynthLongestPathAnalysis analysis, MlirValue value, int64_t bitPos, bool elaboratePaths)
 
SynthLongestPathCollection synthLongestPathAnalysisGetInternalPaths (SynthLongestPathAnalysis analysis, MlirStringRef moduleName, bool elaboratePaths)
 
SynthLongestPathCollection synthLongestPathAnalysisGetPathsFromInputPortsToInternal (SynthLongestPathAnalysis analysis, MlirStringRef moduleName)
 
SynthLongestPathCollection synthLongestPathAnalysisGetPathsFromInternalToOutputPorts (SynthLongestPathAnalysis analysis, MlirStringRef moduleName)
 
bool synthLongestPathCollectionIsNull (SynthLongestPathCollection collection)
 
void synthLongestPathCollectionDestroy (SynthLongestPathCollection collection)
 
size_t synthLongestPathCollectionGetSize (SynthLongestPathCollection collection)
 
SynthLongestPathDataflowPath synthLongestPathCollectionGetDataflowPath (SynthLongestPathCollection collection, size_t index)
 
void synthLongestPathCollectionMerge (SynthLongestPathCollection dest, SynthLongestPathCollection src)
 
void synthLongestPathCollectionDropNonCriticalPaths (SynthLongestPathCollection collection, bool perEndPoint)
 
int64_t synthLongestPathDataflowPathGetDelay (SynthLongestPathDataflowPath path)
 
SynthLongestPathObject synthLongestPathDataflowPathGetStartPoint (SynthLongestPathDataflowPath path)
 
SynthLongestPathObject synthLongestPathDataflowPathGetEndPoint (SynthLongestPathDataflowPath path)
 
SynthLongestPathHistory synthLongestPathDataflowPathGetHistory (SynthLongestPathDataflowPath path)
 
MlirOperation synthLongestPathDataflowPathGetRoot (SynthLongestPathDataflowPath path)
 
bool synthLongestPathHistoryIsEmpty (SynthLongestPathHistory history)
 
void synthLongestPathHistoryGetHead (SynthLongestPathHistory history, SynthLongestPathObject *object, int64_t *delay, MlirStringRef *comment)
 
SynthLongestPathHistory synthLongestPathHistoryGetTail (SynthLongestPathHistory history)
 
IgraphInstancePath synthLongestPathObjectGetInstancePath (SynthLongestPathObject object)
 
MlirStringRef synthLongestPathObjectName (SynthLongestPathObject rawObject)
 
size_t synthLongestPathObjectBitPos (SynthLongestPathObject rawObject)
 

Function Documentation

◆ DEFINE_C_API_PTR_METHODS()

DEFINE_C_API_PTR_METHODS ( SynthLongestPathHistory  ,
llvm::ImmutableListImpl< DebugPoint  
)

Definition at line 49 of file Synth.cpp.

◆ registerSynthesisPipeline()

void registerSynthesisPipeline ( void  )

Definition at line 34 of file Synth.cpp.

References circt::synth::registerSynthesisPipeline().

Referenced by registerPasses().

◆ registerSynthPasses()

void registerSynthPasses ( void  )

Definition at line 38 of file Synth.cpp.

◆ synthLongestPathAnalysisCreate()

SynthLongestPathAnalysis synthLongestPathAnalysisCreate ( MlirOperation  module,
bool  collectDebugInfo,
bool  keepOnlyMaxDelayPaths,
bool  lazyComputation,
MlirStringRef  topModuleName 
)

Definition at line 82 of file Synth.cpp.

References unwrap(), and wrap().

◆ synthLongestPathAnalysisDestroy()

void synthLongestPathAnalysisDestroy ( SynthLongestPathAnalysis  analysis)

Definition at line 99 of file Synth.cpp.

References unwrap().

◆ synthLongestPathAnalysisGetInternalPaths()

SynthLongestPathCollection synthLongestPathAnalysisGetInternalPaths ( SynthLongestPathAnalysis  analysis,
MlirStringRef  moduleName,
bool  elaboratePaths 
)

Definition at line 119 of file Synth.cpp.

References unwrap(), and wrap().

◆ synthLongestPathAnalysisGetPaths()

SynthLongestPathCollection synthLongestPathAnalysisGetPaths ( SynthLongestPathAnalysis  analysis,
MlirValue  value,
int64_t  bitPos,
bool  elaboratePaths 
)

Definition at line 104 of file Synth.cpp.

References unwrap(), and wrap().

◆ synthLongestPathAnalysisGetPathsFromInputPortsToInternal()

SynthLongestPathCollection synthLongestPathAnalysisGetPathsFromInputPortsToInternal ( SynthLongestPathAnalysis  analysis,
MlirStringRef  moduleName 
)

Definition at line 138 of file Synth.cpp.

References unwrap(), and wrap().

◆ synthLongestPathAnalysisGetPathsFromInternalToOutputPorts()

SynthLongestPathCollection synthLongestPathAnalysisGetPathsFromInternalToOutputPorts ( SynthLongestPathAnalysis  analysis,
MlirStringRef  moduleName 
)

Definition at line 156 of file Synth.cpp.

References unwrap(), and wrap().

◆ synthLongestPathCollectionDestroy()

void synthLongestPathCollectionDestroy ( SynthLongestPathCollection  collection)

Definition at line 180 of file Synth.cpp.

References unwrap().

◆ synthLongestPathCollectionDropNonCriticalPaths()

void synthLongestPathCollectionDropNonCriticalPaths ( SynthLongestPathCollection  collection,
bool  perEndPoint 
)

Definition at line 206 of file Synth.cpp.

References unwrap().

◆ synthLongestPathCollectionGetDataflowPath()

SynthLongestPathDataflowPath synthLongestPathCollectionGetDataflowPath ( SynthLongestPathCollection  collection,
size_t  index 
)

Definition at line 192 of file Synth.cpp.

References unwrap(), and wrap().

◆ synthLongestPathCollectionGetSize()

size_t synthLongestPathCollectionGetSize ( SynthLongestPathCollection  collection)

Definition at line 185 of file Synth.cpp.

References unwrap().

◆ synthLongestPathCollectionIsNull()

bool synthLongestPathCollectionIsNull ( SynthLongestPathCollection  collection)

Definition at line 176 of file Synth.cpp.

◆ synthLongestPathCollectionMerge()

void synthLongestPathCollectionMerge ( SynthLongestPathCollection  dest,
SynthLongestPathCollection  src 
)

Definition at line 199 of file Synth.cpp.

References unwrap().

◆ synthLongestPathDataflowPathGetDelay()

int64_t synthLongestPathDataflowPathGetDelay ( SynthLongestPathDataflowPath  path)

Definition at line 217 of file Synth.cpp.

References unwrap().

◆ synthLongestPathDataflowPathGetEndPoint()

SynthLongestPathObject synthLongestPathDataflowPathGetEndPoint ( SynthLongestPathDataflowPath  path)

Definition at line 230 of file Synth.cpp.

References unwrap(), and wrap().

◆ synthLongestPathDataflowPathGetHistory()

SynthLongestPathHistory synthLongestPathDataflowPathGetHistory ( SynthLongestPathDataflowPath  path)

Definition at line 240 of file Synth.cpp.

References unwrap(), and wrap().

◆ synthLongestPathDataflowPathGetRoot()

MlirOperation synthLongestPathDataflowPathGetRoot ( SynthLongestPathDataflowPath  path)

Definition at line 247 of file Synth.cpp.

References unwrap(), and wrap().

◆ synthLongestPathDataflowPathGetStartPoint()

SynthLongestPathObject synthLongestPathDataflowPathGetStartPoint ( SynthLongestPathDataflowPath  path)

Definition at line 223 of file Synth.cpp.

References unwrap(), and wrap().

◆ synthLongestPathHistoryGetHead()

void synthLongestPathHistoryGetHead ( SynthLongestPathHistory  history,
SynthLongestPathObject *  object,
int64_t *  delay,
MlirStringRef *  comment 
)

Definition at line 261 of file Synth.cpp.

References unwrap(), and wrap().

◆ synthLongestPathHistoryGetTail()

SynthLongestPathHistory synthLongestPathHistoryGetTail ( SynthLongestPathHistory  history)

Definition at line 274 of file Synth.cpp.

References unwrap(), and wrap().

◆ synthLongestPathHistoryIsEmpty()

bool synthLongestPathHistoryIsEmpty ( SynthLongestPathHistory  history)

Definition at line 256 of file Synth.cpp.

References unwrap().

◆ synthLongestPathObjectBitPos()

size_t synthLongestPathObjectBitPos ( SynthLongestPathObject  rawObject)

Definition at line 311 of file Synth.cpp.

References unwrap().

◆ synthLongestPathObjectGetInstancePath()

IgraphInstancePath synthLongestPathObjectGetInstancePath ( SynthLongestPathObject  object)

Definition at line 286 of file Synth.cpp.

References IgraphInstancePath::ptr, IgraphInstancePath::size, and unwrap().

◆ synthLongestPathObjectName()

MlirStringRef synthLongestPathObjectName ( SynthLongestPathObject  rawObject)

Definition at line 300 of file Synth.cpp.

References unwrap().

◆ wrap() [1/3]

SynthLongestPathObject wrap ( const DataflowPath::OutputPort object)

Definition at line 71 of file Synth.cpp.

References wrap().

◆ wrap() [2/3]

SynthLongestPathObject wrap ( const Object object)

Definition at line 65 of file Synth.cpp.

References wrap().

◆ wrap() [3/3]

SynthLongestPathObject wrap ( llvm::PointerUnion< Object *, DataflowPath::OutputPort * >  object)