blob: e45eafb139f2c00ac4e98d2d52fbcabba7622b0c [file] [log] [blame]
Owen Andersonfbd121e2010-10-07 18:05:11 +00001/*===-- 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
Benjamin Kramer00e08fc2014-08-13 16:26:38 +000016#ifndef LLVM_C_INITIALIZATION_H
17#define LLVM_C_INITIALIZATION_H
Owen Andersonfbd121e2010-10-07 18:05:11 +000018
Eric Christophercca8dbe2015-12-18 01:46:52 +000019#include "llvm-c/Types.h"
Owen Andersonfbd121e2010-10-07 18:05:11 +000020
21#ifdef __cplusplus
22extern "C" {
23#endif
24
Gregory Szorc6244b512012-03-21 03:54:29 +000025/**
26 * @defgroup LLVMCInitialization Initialization Routines
27 * @ingroup LLVMC
28 *
29 * This module contains routines used to initialize the LLVM system.
30 *
31 * @{
32 */
33
Owen Andersonb8a1ccfc2010-10-07 19:51:21 +000034void LLVMInitializeCore(LLVMPassRegistryRef R);
Owen Andersonfbd121e2010-10-07 18:05:11 +000035void LLVMInitializeTransformUtils(LLVMPassRegistryRef R);
36void LLVMInitializeScalarOpts(LLVMPassRegistryRef R);
Michael Gottesman24c48982013-01-28 01:35:51 +000037void LLVMInitializeObjCARCOpts(LLVMPassRegistryRef R);
Hal Finkelde5e5ec2012-02-01 03:51:43 +000038void LLVMInitializeVectorization(LLVMPassRegistryRef R);
Owen Anderson74cfb0c2010-10-07 20:04:55 +000039void LLVMInitializeInstCombine(LLVMPassRegistryRef R);
Craig Topperf7d7c682018-04-24 00:39:29 +000040void LLVMInitializeAggressiveInstCombiner(LLVMPassRegistryRef R);
Owen Anderson2c812962010-10-07 18:09:59 +000041void LLVMInitializeIPO(LLVMPassRegistryRef R);
Owen Andersonaa4897f2010-10-07 20:17:24 +000042void LLVMInitializeInstrumentation(LLVMPassRegistryRef R);
Owen Anderson861f4c32010-10-07 18:31:00 +000043void LLVMInitializeAnalysis(LLVMPassRegistryRef R);
44void LLVMInitializeIPA(LLVMPassRegistryRef R);
Owen Anderson78b15242010-10-07 18:41:20 +000045void LLVMInitializeCodeGen(LLVMPassRegistryRef R);
Owen Anderson99663062010-10-07 18:50:11 +000046void LLVMInitializeTarget(LLVMPassRegistryRef R);
Owen Andersonfbd121e2010-10-07 18:05:11 +000047
Gregory Szorc6244b512012-03-21 03:54:29 +000048/**
49 * @}
50 */
51
Owen Andersonfbd121e2010-10-07 18:05:11 +000052#ifdef __cplusplus
53}
54#endif
55
56#endif