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);
57MLIR_CAPI_EXPORTED
void
61 SynthLongestPathAnalysis analysis, MlirValue value, int64_t bitPos,
64MLIR_CAPI_EXPORTED SynthLongestPathCollection
66 MlirStringRef moduleName,
74MLIR_CAPI_EXPORTED
bool
78MLIR_CAPI_EXPORTED
void
82MLIR_CAPI_EXPORTED
size_t
86MLIR_CAPI_EXPORTED SynthLongestPathDataflowPath
90MLIR_CAPI_EXPORTED
void
92 SynthLongestPathCollection src);
98MLIR_CAPI_EXPORTED int64_t
101MLIR_CAPI_EXPORTED SynthLongestPathObject
103 SynthLongestPathDataflowPath dataflowPath);
105MLIR_CAPI_EXPORTED SynthLongestPathObject
107 SynthLongestPathDataflowPath dataflowPath);
109MLIR_CAPI_EXPORTED SynthLongestPathHistory
111 SynthLongestPathDataflowPath dataflowPath);
113MLIR_CAPI_EXPORTED MlirOperation
120MLIR_CAPI_EXPORTED
bool
123MLIR_CAPI_EXPORTED
void
125 SynthLongestPathObject *
object, int64_t *delay,
126 MlirStringRef *comment);
128MLIR_CAPI_EXPORTED SynthLongestPathHistory
138MLIR_CAPI_EXPORTED MlirStringRef
141MLIR_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 SynthLongestPathAnalysis synthLongestPathAnalysisCreate(MlirOperation module, bool collectDebugInfo, bool keepOnlyMaxDelayPaths, bool lazyComputation)
MLIR_CAPI_EXPORTED void registerSynthPasses(void)
MLIR_CAPI_EXPORTED SynthLongestPathObject synthLongestPathDataflowPathGetEndPoint(SynthLongestPathDataflowPath dataflowPath)
MLIR_CAPI_EXPORTED SynthLongestPathCollection synthLongestPathAnalysisGetPaths(SynthLongestPathAnalysis analysis, MlirValue value, int64_t bitPos, bool elaboratePaths)
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 SynthLongestPathCollection synthLongestPathAnalysisGetAllPaths(SynthLongestPathAnalysis analysis, MlirStringRef moduleName, bool elaboratePaths)
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)