154359Sroberto/*===-- llvm-c/Initialization.h - Initialization C Interface ------*- C -*-===*\
254359Sroberto|*                                                                            *|
354359Sroberto|*                     The LLVM Compiler Infrastructure                       *|
454359Sroberto|*                                                                            *|
554359Sroberto|* This file is distributed under the University of Illinois Open Source      *|
654359Sroberto|* License. See LICENSE.TXT for details.                                      *|
754359Sroberto|*                                                                            *|
854359Sroberto|*===----------------------------------------------------------------------===*|
954359Sroberto|*                                                                            *|
1054359Sroberto|* This header declares the C interface to LLVM initialization routines,      *|
1154359Sroberto|* which must be called before you can use the functionality provided by      *|
1254359Sroberto|* the corresponding LLVM library.                                            *|
1354359Sroberto|*                                                                            *|
1454359Sroberto\*===----------------------------------------------------------------------===*/
1554359Sroberto
1654359Sroberto#ifndef LLVM_C_INITIALIZEPASSES_H
1754359Sroberto#define LLVM_C_INITIALIZEPASSES_H
1854359Sroberto
1954359Sroberto#include "llvm-c/Core.h"
2054359Sroberto
2154359Sroberto#ifdef __cplusplus
2254359Srobertoextern "C" {
2354359Sroberto#endif
2454359Sroberto
2554359Sroberto/**
2654359Sroberto * @defgroup LLVMCInitialization Initialization Routines
2754359Sroberto * @ingroup LLVMC
2854359Sroberto *
2954359Sroberto * This module contains routines used to initialize the LLVM system.
3054359Sroberto *
3154359Sroberto * @{
3254359Sroberto */
3354359Sroberto
3454359Srobertovoid LLVMInitializeCore(LLVMPassRegistryRef R);
3554359Srobertovoid LLVMInitializeTransformUtils(LLVMPassRegistryRef R);
3654359Srobertovoid LLVMInitializeScalarOpts(LLVMPassRegistryRef R);
3754359Srobertovoid LLVMInitializeObjCARCOpts(LLVMPassRegistryRef R);
3854359Srobertovoid LLVMInitializeVectorization(LLVMPassRegistryRef R);
3954359Srobertovoid LLVMInitializeInstCombine(LLVMPassRegistryRef R);
4054359Srobertovoid LLVMInitializeIPO(LLVMPassRegistryRef R);
4154359Srobertovoid LLVMInitializeInstrumentation(LLVMPassRegistryRef R);
4254359Srobertovoid LLVMInitializeAnalysis(LLVMPassRegistryRef R);
4354359Srobertovoid LLVMInitializeIPA(LLVMPassRegistryRef R);
4454359Srobertovoid LLVMInitializeCodeGen(LLVMPassRegistryRef R);
4554359Srobertovoid LLVMInitializeTarget(LLVMPassRegistryRef R);
4654359Sroberto
4754359Sroberto/**
4854359Sroberto * @}
4954359Sroberto */
5054359Sroberto
5154359Sroberto#ifdef __cplusplus
5254359Sroberto}
5354359Sroberto#endif
5454359Sroberto
5554359Sroberto#endif
5654359Sroberto