1fbd121e1983323a75ae5de78f4b57e939e4c7a38Owen Anderson/*===-- llvm-c/Initialization.h - Initialization C Interface ------*- C -*-===*\ 2fbd121e1983323a75ae5de78f4b57e939e4c7a38Owen Anderson|* *| 3fbd121e1983323a75ae5de78f4b57e939e4c7a38Owen Anderson|* The LLVM Compiler Infrastructure *| 4fbd121e1983323a75ae5de78f4b57e939e4c7a38Owen Anderson|* *| 5fbd121e1983323a75ae5de78f4b57e939e4c7a38Owen Anderson|* This file is distributed under the University of Illinois Open Source *| 6fbd121e1983323a75ae5de78f4b57e939e4c7a38Owen Anderson|* License. See LICENSE.TXT for details. *| 7fbd121e1983323a75ae5de78f4b57e939e4c7a38Owen Anderson|* *| 8fbd121e1983323a75ae5de78f4b57e939e4c7a38Owen Anderson|*===----------------------------------------------------------------------===*| 9fbd121e1983323a75ae5de78f4b57e939e4c7a38Owen Anderson|* *| 10fbd121e1983323a75ae5de78f4b57e939e4c7a38Owen Anderson|* This header declares the C interface to LLVM initialization routines, *| 11fbd121e1983323a75ae5de78f4b57e939e4c7a38Owen Anderson|* which must be called before you can use the functionality provided by *| 12fbd121e1983323a75ae5de78f4b57e939e4c7a38Owen Anderson|* the corresponding LLVM library. *| 13fbd121e1983323a75ae5de78f4b57e939e4c7a38Owen Anderson|* *| 14fbd121e1983323a75ae5de78f4b57e939e4c7a38Owen Anderson\*===----------------------------------------------------------------------===*/ 15fbd121e1983323a75ae5de78f4b57e939e4c7a38Owen Anderson 16fbd121e1983323a75ae5de78f4b57e939e4c7a38Owen Anderson#ifndef LLVM_C_INITIALIZEPASSES_H 17fbd121e1983323a75ae5de78f4b57e939e4c7a38Owen Anderson#define LLVM_C_INITIALIZEPASSES_H 18fbd121e1983323a75ae5de78f4b57e939e4c7a38Owen Anderson 19fbd121e1983323a75ae5de78f4b57e939e4c7a38Owen Anderson#include "llvm-c/Core.h" 20fbd121e1983323a75ae5de78f4b57e939e4c7a38Owen Anderson 21fbd121e1983323a75ae5de78f4b57e939e4c7a38Owen Anderson#ifdef __cplusplus 22fbd121e1983323a75ae5de78f4b57e939e4c7a38Owen Andersonextern "C" { 23fbd121e1983323a75ae5de78f4b57e939e4c7a38Owen Anderson#endif 24fbd121e1983323a75ae5de78f4b57e939e4c7a38Owen Anderson 256244b518880842f2c15200ee041e06799e4cc779Gregory Szorc/** 266244b518880842f2c15200ee041e06799e4cc779Gregory Szorc * @defgroup LLVMCInitialization Initialization Routines 276244b518880842f2c15200ee041e06799e4cc779Gregory Szorc * @ingroup LLVMC 286244b518880842f2c15200ee041e06799e4cc779Gregory Szorc * 296244b518880842f2c15200ee041e06799e4cc779Gregory Szorc * This module contains routines used to initialize the LLVM system. 306244b518880842f2c15200ee041e06799e4cc779Gregory Szorc * 316244b518880842f2c15200ee041e06799e4cc779Gregory Szorc * @{ 326244b518880842f2c15200ee041e06799e4cc779Gregory Szorc */ 336244b518880842f2c15200ee041e06799e4cc779Gregory Szorc 34b8a1ccfc4b2eb84cc59465e2109019c9f85c9114Owen Andersonvoid LLVMInitializeCore(LLVMPassRegistryRef R); 35fbd121e1983323a75ae5de78f4b57e939e4c7a38Owen Andersonvoid LLVMInitializeTransformUtils(LLVMPassRegistryRef R); 36fbd121e1983323a75ae5de78f4b57e939e4c7a38Owen Andersonvoid LLVMInitializeScalarOpts(LLVMPassRegistryRef R); 3724c4898973a074713201fb9351d302b9f7733e92Michael Gottesmanvoid LLVMInitializeObjCARCOpts(LLVMPassRegistryRef R); 38de5e5ec3045a73a06b1054417f9ac6c02929e9ceHal Finkelvoid LLVMInitializeVectorization(LLVMPassRegistryRef R); 3974cfb0ce1c9525cfaa4f484edf555ea18b379370Owen Andersonvoid LLVMInitializeInstCombine(LLVMPassRegistryRef R); 402c81296bc237cb26c2bb789514e331b3b5b31f79Owen Andersonvoid LLVMInitializeIPO(LLVMPassRegistryRef R); 41aa4897fa1323ef78d5e72a80c74e96eb21f72057Owen Andersonvoid LLVMInitializeInstrumentation(LLVMPassRegistryRef R); 42861f4c38de1654515377222c05d544b1442bdd00Owen Andersonvoid LLVMInitializeAnalysis(LLVMPassRegistryRef R); 43861f4c38de1654515377222c05d544b1442bdd00Owen Andersonvoid LLVMInitializeIPA(LLVMPassRegistryRef R); 4478b152470d80c27eec82087b2a3c3fdf809e0050Owen Andersonvoid LLVMInitializeCodeGen(LLVMPassRegistryRef R); 459966306aa7eab65d160df88b36ab13cd15dbecdbOwen Andersonvoid LLVMInitializeTarget(LLVMPassRegistryRef R); 46fbd121e1983323a75ae5de78f4b57e939e4c7a38Owen Anderson 476244b518880842f2c15200ee041e06799e4cc779Gregory Szorc/** 486244b518880842f2c15200ee041e06799e4cc779Gregory Szorc * @} 496244b518880842f2c15200ee041e06799e4cc779Gregory Szorc */ 506244b518880842f2c15200ee041e06799e4cc779Gregory Szorc 51fbd121e1983323a75ae5de78f4b57e939e4c7a38Owen Anderson#ifdef __cplusplus 52fbd121e1983323a75ae5de78f4b57e939e4c7a38Owen Anderson} 53fbd121e1983323a75ae5de78f4b57e939e4c7a38Owen Anderson#endif 54fbd121e1983323a75ae5de78f4b57e939e4c7a38Owen Anderson 55fbd121e1983323a75ae5de78f4b57e939e4c7a38Owen Anderson#endif 56