CIRCT 24.0.0git
Loading...
Searching...
No Matches
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)
MlirValue synthLongestPathObjectGetValue (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.

References DEFINE_C_API_PTR_METHODS(), and unwrap().

Referenced by DEFINE_C_API_PTR_METHODS().

◆ registerSynthesisPipeline()

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.

References registerSynthPasses().

Referenced by registerSynthPasses().

◆ 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().

◆ synthLongestPathObjectGetValue()

MlirValue synthLongestPathObjectGetValue ( SynthLongestPathObject rawObject)

Definition at line 318 of file Synth.cpp.

References unwrap(), and wrap().

◆ 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]