1 //===-- mlir-c/RegisterEverything.h - Register all MLIR entities --*- C -*-===// 2 // 3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM 4 // Exceptions. 5 // See https://llvm.org/LICENSE.txt for license information. 6 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 7 // 8 //===----------------------------------------------------------------------===// 9 // This header contains registration entry points for MLIR upstream dialects 10 // and passes. Downstream projects typically will not want to use this unless 11 // if they don't care about binary size or build bloat and just wish access 12 // to the entire set of upstream facilities. For those that do care, they 13 // should use registration functions specific to their project. 14 //===----------------------------------------------------------------------===// 15 16 #ifndef MLIR_C_REGISTER_EVERYTHING_H 17 #define MLIR_C_REGISTER_EVERYTHING_H 18 19 #include "mlir-c/IR.h" 20 21 #ifdef __cplusplus 22 extern "C" { 23 #endif 24 25 /// Appends all upstream dialects and extensions to the dialect registry. 26 MLIR_CAPI_EXPORTED void mlirRegisterAllDialects(MlirDialectRegistry registry); 27 28 /// Register all translations to LLVM IR for dialects that can support it. 29 MLIR_CAPI_EXPORTED void mlirRegisterAllLLVMTranslations(MlirContext context); 30 31 /// Register all compiler passes of MLIR. 32 MLIR_CAPI_EXPORTED void mlirRegisterAllPasses(void); 33 34 #ifdef __cplusplus 35 } 36 #endif 37 38 #endif // MLIR_C_REGISTER_EVERYTHING_H 39