blob: e45eafb139f2c00ac4e98d2d52fbcabba7622b0c [file] [log] [blame]
Andrew Scull5e1ddfa2018-08-14 10:06:54 +01001/*===-- llvm-c/Initialization.h - Initialization C Interface ------*- C -*-===*\
2|* *|
3|* The LLVM Compiler Infrastructure *|
4|* *|
5|* This file is distributed under the University of Illinois Open Source *|
6|* License. See LICENSE.TXT for details. *|
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/Types.h"
20
21#ifdef __cplusplus
22extern "C" {
23#endif
24
25/**
26 * @defgroup LLVMCInitialization Initialization Routines
27 * @ingroup LLVMC
28 *
29 * This module contains routines used to initialize the LLVM system.
30 *
31 * @{
32 */
33
34void LLVMInitializeCore(LLVMPassRegistryRef R);
35void LLVMInitializeTransformUtils(LLVMPassRegistryRef R);
36void LLVMInitializeScalarOpts(LLVMPassRegistryRef R);
37void LLVMInitializeObjCARCOpts(LLVMPassRegistryRef R);
38void LLVMInitializeVectorization(LLVMPassRegistryRef R);
39void LLVMInitializeInstCombine(LLVMPassRegistryRef R);
Andrew Scullcdfcccc2018-10-05 20:58:37 +010040void LLVMInitializeAggressiveInstCombiner(LLVMPassRegistryRef R);
Andrew Scull5e1ddfa2018-08-14 10:06:54 +010041void LLVMInitializeIPO(LLVMPassRegistryRef R);
42void LLVMInitializeInstrumentation(LLVMPassRegistryRef R);
43void LLVMInitializeAnalysis(LLVMPassRegistryRef R);
44void LLVMInitializeIPA(LLVMPassRegistryRef R);
45void LLVMInitializeCodeGen(LLVMPassRegistryRef R);
46void LLVMInitializeTarget(LLVMPassRegistryRef R);
47
48/**
49 * @}
50 */
51
52#ifdef __cplusplus
53}
54#endif
55
56#endif