1 /*===-- llvm-c/Initialization.h - Initialization C Interface ------*- 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 |* *| 10 |* This header declares the C interface to LLVM initialization routines, *| 11 |* which must be called before you can use the functionality provided by *| 12 |* the corresponding LLVM library. *| 13 |* *| 14 \*===----------------------------------------------------------------------===*/ 15 16 #ifndef LLVM_C_INITIALIZATION_H 17 #define LLVM_C_INITIALIZATION_H 18 19 #include "llvm-c/ExternC.h" 20 #include "llvm-c/Types.h" 21 22 LLVM_C_EXTERN_C_BEGIN 23 24 /** 25 * @defgroup LLVMCInitialization Initialization Routines 26 * @ingroup LLVMC 27 * 28 * This module contains routines used to initialize the LLVM system. 29 * 30 * @{ 31 */ 32 33 void LLVMInitializeCore(LLVMPassRegistryRef R); 34 void LLVMInitializeTransformUtils(LLVMPassRegistryRef R); 35 void LLVMInitializeScalarOpts(LLVMPassRegistryRef R); 36 void LLVMInitializeObjCARCOpts(LLVMPassRegistryRef R); 37 void LLVMInitializeVectorization(LLVMPassRegistryRef R); 38 void LLVMInitializeInstCombine(LLVMPassRegistryRef R); 39 void LLVMInitializeAggressiveInstCombiner(LLVMPassRegistryRef R); 40 void LLVMInitializeIPO(LLVMPassRegistryRef R); 41 void LLVMInitializeInstrumentation(LLVMPassRegistryRef R); 42 void LLVMInitializeAnalysis(LLVMPassRegistryRef R); 43 void LLVMInitializeIPA(LLVMPassRegistryRef R); 44 void LLVMInitializeCodeGen(LLVMPassRegistryRef R); 45 void LLVMInitializeTarget(LLVMPassRegistryRef R); 46 47 /** 48 * @} 49 */ 50 51 LLVM_C_EXTERN_C_END 52 53 #endif 54