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 synthLongestPathAnalysisGetAllPaths (SynthLongestPathAnalysis analysis, MlirStringRef moduleName, bool elaboratePaths)
 
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)
 
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().

◆ synthLongestPathAnalysisGetAllPaths()

SynthLongestPathCollection synthLongestPathAnalysisGetAllPaths ( 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().

◆ synthLongestPathCollectionDestroy()

void synthLongestPathCollectionDestroy ( SynthLongestPathCollection  collection)

Definition at line 144 of file Synth.cpp.

References unwrap().

◆ synthLongestPathCollectionGetDataflowPath()

SynthLongestPathDataflowPath synthLongestPathCollectionGetDataflowPath ( SynthLongestPathCollection  collection,
size_t  index 
)

Definition at line 156 of file Synth.cpp.

References unwrap(), and wrap().

◆ synthLongestPathCollectionGetSize()

size_t synthLongestPathCollectionGetSize ( SynthLongestPathCollection  collection)

Definition at line 149 of file Synth.cpp.

References unwrap().

◆ synthLongestPathCollectionIsNull()

bool synthLongestPathCollectionIsNull ( SynthLongestPathCollection  collection)

Definition at line 140 of file Synth.cpp.

◆ synthLongestPathCollectionMerge()

void synthLongestPathCollectionMerge ( SynthLongestPathCollection  dest,
SynthLongestPathCollection  src 
)

Definition at line 163 of file Synth.cpp.

References unwrap().

◆ synthLongestPathDataflowPathGetDelay()

int64_t synthLongestPathDataflowPathGetDelay ( SynthLongestPathDataflowPath  path)

Definition at line 175 of file Synth.cpp.

References unwrap().

◆ synthLongestPathDataflowPathGetEndPoint()

SynthLongestPathObject synthLongestPathDataflowPathGetEndPoint ( SynthLongestPathDataflowPath  path)

Definition at line 188 of file Synth.cpp.

References unwrap(), and wrap().

◆ synthLongestPathDataflowPathGetHistory()

SynthLongestPathHistory synthLongestPathDataflowPathGetHistory ( SynthLongestPathDataflowPath  path)

Definition at line 198 of file Synth.cpp.

References unwrap(), and wrap().

◆ synthLongestPathDataflowPathGetRoot()

MlirOperation synthLongestPathDataflowPathGetRoot ( SynthLongestPathDataflowPath  path)

Definition at line 205 of file Synth.cpp.

References unwrap(), and wrap().

◆ synthLongestPathDataflowPathGetStartPoint()

SynthLongestPathObject synthLongestPathDataflowPathGetStartPoint ( SynthLongestPathDataflowPath  path)

Definition at line 181 of file Synth.cpp.

References unwrap(), and wrap().

◆ synthLongestPathHistoryGetHead()

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

Definition at line 219 of file Synth.cpp.

References unwrap(), and wrap().

◆ synthLongestPathHistoryGetTail()

SynthLongestPathHistory synthLongestPathHistoryGetTail ( SynthLongestPathHistory  history)

Definition at line 232 of file Synth.cpp.

References unwrap(), and wrap().

◆ synthLongestPathHistoryIsEmpty()

bool synthLongestPathHistoryIsEmpty ( SynthLongestPathHistory  history)

Definition at line 214 of file Synth.cpp.

References unwrap().

◆ synthLongestPathObjectBitPos()

size_t synthLongestPathObjectBitPos ( SynthLongestPathObject  rawObject)

Definition at line 269 of file Synth.cpp.

References unwrap().

◆ synthLongestPathObjectGetInstancePath()

IgraphInstancePath synthLongestPathObjectGetInstancePath ( SynthLongestPathObject  object)

Definition at line 244 of file Synth.cpp.

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

◆ synthLongestPathObjectName()

MlirStringRef synthLongestPathObjectName ( SynthLongestPathObject  rawObject)

Definition at line 258 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)