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);
111MLIR_CAPI_EXPORTED int64_t
114MLIR_CAPI_EXPORTED SynthLongestPathObject
116 SynthLongestPathDataflowPath dataflowPath);
118MLIR_CAPI_EXPORTED SynthLongestPathObject
120 SynthLongestPathDataflowPath dataflowPath);
122MLIR_CAPI_EXPORTED SynthLongestPathHistory
124 SynthLongestPathDataflowPath dataflowPath);
126MLIR_CAPI_EXPORTED MlirOperation
133MLIR_CAPI_EXPORTED
bool
136MLIR_CAPI_EXPORTED
void
138 SynthLongestPathObject *
object, int64_t *delay,
139 MlirStringRef *comment);
141MLIR_CAPI_EXPORTED SynthLongestPathHistory
151MLIR_CAPI_EXPORTED MlirStringRef
154MLIR_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 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)