9#ifndef CIRCT_C_DIALECT_SYNTH_H
10#define CIRCT_C_DIALECT_SYNTH_H
24#define DEFINE_C_API_STRUCT(name, storage) \
28 typedef struct name name
49#undef DEFINE_C_API_STRUCT
53 MlirOperation module,
bool collectDebugInfo,
bool keepOnlyMaxDelayPaths,
54 bool lazyComputation, MlirStringRef topModuleName);
57MLIR_CAPI_EXPORTED
void
62 SynthLongestPathAnalysis analysis, MlirValue value, int64_t bitPos,
67MLIR_CAPI_EXPORTED SynthLongestPathCollection
69 MlirStringRef moduleName,
73MLIR_CAPI_EXPORTED SynthLongestPathCollection
75 SynthLongestPathAnalysis analysis, MlirStringRef moduleName);
78MLIR_CAPI_EXPORTED SynthLongestPathCollection
80 SynthLongestPathAnalysis analysis, MlirStringRef moduleName);
87MLIR_CAPI_EXPORTED
bool
91MLIR_CAPI_EXPORTED
void
95MLIR_CAPI_EXPORTED
size_t
99MLIR_CAPI_EXPORTED SynthLongestPathDataflowPath
103MLIR_CAPI_EXPORTED
void
105 SynthLongestPathCollection src);
108 SynthLongestPathCollection collection,
bool perEndPoint);
114MLIR_CAPI_EXPORTED int64_t
117MLIR_CAPI_EXPORTED SynthLongestPathObject
119 SynthLongestPathDataflowPath dataflowPath);
121MLIR_CAPI_EXPORTED SynthLongestPathObject
123 SynthLongestPathDataflowPath dataflowPath);
125MLIR_CAPI_EXPORTED SynthLongestPathHistory
127 SynthLongestPathDataflowPath dataflowPath);
129MLIR_CAPI_EXPORTED MlirOperation
136MLIR_CAPI_EXPORTED
bool
139MLIR_CAPI_EXPORTED
void
141 SynthLongestPathObject *
object, int64_t *delay,
142 MlirStringRef *comment);
144MLIR_CAPI_EXPORTED SynthLongestPathHistory
154MLIR_CAPI_EXPORTED MlirStringRef
157MLIR_CAPI_EXPORTED
size_t
MLIR_CAPI_EXPORTED MlirOperation synthLongestPathDataflowPathGetRoot(SynthLongestPathDataflowPath dataflowPath)
MLIR_CAPI_EXPORTED bool synthLongestPathHistoryIsEmpty(SynthLongestPathHistory history)
MLIR_CAPI_EXPORTED SynthLongestPathHistory synthLongestPathHistoryGetTail(SynthLongestPathHistory history)
MLIR_CAPI_EXPORTED void synthLongestPathCollectionDestroy(SynthLongestPathCollection collection)
MLIR_CAPI_EXPORTED void synthLongestPathHistoryGetHead(SynthLongestPathHistory history, SynthLongestPathObject *object, int64_t *delay, MlirStringRef *comment)
MLIR_CAPI_EXPORTED size_t synthLongestPathCollectionGetSize(SynthLongestPathCollection collection)
MLIR_CAPI_EXPORTED size_t synthLongestPathObjectBitPos(SynthLongestPathObject object)
MLIR_CAPI_EXPORTED SynthLongestPathObject synthLongestPathDataflowPathGetStartPoint(SynthLongestPathDataflowPath dataflowPath)
MLIR_CAPI_EXPORTED IgraphInstancePath synthLongestPathObjectGetInstancePath(SynthLongestPathObject object)
#define DEFINE_C_API_STRUCT(name, storage)
MLIR_CAPI_EXPORTED void registerSynthesisPipeline(void)
MLIR_CAPI_EXPORTED void synthLongestPathCollectionDropNonCriticalPaths(SynthLongestPathCollection collection, bool perEndPoint)
MLIR_CAPI_EXPORTED void registerSynthPasses(void)
MLIR_CAPI_EXPORTED SynthLongestPathObject synthLongestPathDataflowPathGetEndPoint(SynthLongestPathDataflowPath dataflowPath)
MLIR_CAPI_EXPORTED SynthLongestPathCollection synthLongestPathAnalysisGetInternalPaths(SynthLongestPathAnalysis analysis, MlirStringRef moduleName, bool elaboratePaths)
MLIR_CAPI_EXPORTED SynthLongestPathCollection synthLongestPathAnalysisGetPaths(SynthLongestPathAnalysis analysis, MlirValue value, int64_t bitPos, bool elaboratePaths)
MLIR_CAPI_EXPORTED SynthLongestPathCollection synthLongestPathAnalysisGetPathsFromInternalToOutputPorts(SynthLongestPathAnalysis analysis, MlirStringRef moduleName)
MLIR_CAPI_EXPORTED SynthLongestPathHistory synthLongestPathDataflowPathGetHistory(SynthLongestPathDataflowPath dataflowPath)
MLIR_CAPI_EXPORTED bool synthLongestPathCollectionIsNull(SynthLongestPathCollection collection)
MLIR_CAPI_EXPORTED SynthLongestPathDataflowPath synthLongestPathCollectionGetDataflowPath(SynthLongestPathCollection collection, size_t pathIndex)
MLIR_DECLARE_CAPI_DIALECT_REGISTRATION(Synth, synth)
MLIR_CAPI_EXPORTED SynthLongestPathAnalysis synthLongestPathAnalysisCreate(MlirOperation module, bool collectDebugInfo, bool keepOnlyMaxDelayPaths, bool lazyComputation, MlirStringRef topModuleName)
MLIR_CAPI_EXPORTED SynthLongestPathCollection synthLongestPathAnalysisGetPathsFromInputPortsToInternal(SynthLongestPathAnalysis analysis, MlirStringRef moduleName)
MLIR_CAPI_EXPORTED void synthLongestPathCollectionMerge(SynthLongestPathCollection dest, SynthLongestPathCollection src)
MLIR_CAPI_EXPORTED void synthLongestPathAnalysisDestroy(SynthLongestPathAnalysis analysis)
MLIR_CAPI_EXPORTED MlirStringRef synthLongestPathObjectName(SynthLongestPathObject object)
MLIR_CAPI_EXPORTED int64_t synthLongestPathDataflowPathGetDelay(SynthLongestPathDataflowPath dataflowPath)