//===- Support.cpp - Helpers for C interface to MLIR API ------------------===// // // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. // See https://llvm.org/LICENSE.txt for license information. // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // //===----------------------------------------------------------------------===// #include "mlir/CAPI/Support.h" #include "llvm/ADT/StringRef.h" #include "llvm/Support/ThreadPool.h" #include <cstring> MlirStringRef mlirStringRefCreateFromCString(const char *str) { … } bool mlirStringRefEqual(MlirStringRef string, MlirStringRef other) { … } //===----------------------------------------------------------------------===// // LLVM ThreadPool API. //===----------------------------------------------------------------------===// MlirLlvmThreadPool mlirLlvmThreadPoolCreate() { … } void mlirLlvmThreadPoolDestroy(MlirLlvmThreadPool threadPool) { … } //===----------------------------------------------------------------------===// // TypeID API. //===----------------------------------------------------------------------===// MlirTypeID mlirTypeIDCreate(const void *ptr) { … } bool mlirTypeIDEqual(MlirTypeID typeID1, MlirTypeID typeID2) { … } size_t mlirTypeIDHashValue(MlirTypeID typeID) { … } //===----------------------------------------------------------------------===// // TypeIDAllocator API. //===----------------------------------------------------------------------===// MlirTypeIDAllocator mlirTypeIDAllocatorCreate() { … } void mlirTypeIDAllocatorDestroy(MlirTypeIDAllocator allocator) { … } MlirTypeID mlirTypeIDAllocatorAllocateTypeID(MlirTypeIDAllocator allocator) { … }