LLVM  12.0.0git
Coroutines.h
Go to the documentation of this file.
1 /*===-- Coroutines.h - Coroutines Library 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 libLLVMCoroutines.a, which *|
11 |* implements various scalar transformations of the LLVM IR. *|
12 |* *|
13 |* Many exotic languages can interoperate with C code but have a harder time *|
14 |* with C++ due to name mangling. So in addition to C, this interface enables *|
15 |* tools written in such languages. *|
16 |* *|
17 \*===----------------------------------------------------------------------===*/
18 
19 #ifndef LLVM_C_TRANSFORMS_COROUTINES_H
20 #define LLVM_C_TRANSFORMS_COROUTINES_H
21 
22 #include "llvm-c/ExternC.h"
23 #include "llvm-c/Types.h"
25 
27 
28 /**
29  * @defgroup LLVMCTransformsCoroutines Coroutine transformations
30  * @ingroup LLVMCTransforms
31  *
32  * @{
33  */
34 
35 /** See llvm::createCoroEarlyLegacyPass function. */
37 
38 /** See llvm::createCoroSplitLegacyPass function. */
40 
41 /** See llvm::createCoroElideLegacyPass function. */
43 
44 /** See llvm::createCoroCleanupLegacyPass function. */
46 
47 /** See llvm::addCoroutinePassesToExtensionPoints. */
49 
50 /**
51  * @}
52  */
53 
55 
56 #endif
void LLVMAddCoroElidePass(LLVMPassManagerRef PM)
See llvm::createCoroElideLegacyPass function.
Definition: Coroutines.cpp:644
struct LLVMOpaquePassManagerBuilder * LLVMPassManagerBuilderRef
void LLVMAddCoroEarlyPass(LLVMPassManagerRef PM)
See llvm::createCoroEarlyLegacyPass function.
Definition: Coroutines.cpp:636
void LLVMAddCoroSplitPass(LLVMPassManagerRef PM)
See llvm::createCoroSplitLegacyPass function.
Definition: Coroutines.cpp:640
struct LLVMOpaquePassManager * LLVMPassManagerRef
Definition: Types.h:127
void LLVMPassManagerBuilderAddCoroutinePassesToExtensionPoints(LLVMPassManagerBuilderRef PMB)
See llvm::addCoroutinePassesToExtensionPoints.
Definition: Coroutines.cpp:653
#define LLVM_C_EXTERN_C_END
Definition: ExternC.h:36
#define LLVM_C_EXTERN_C_BEGIN
Definition: ExternC.h:35
void LLVMAddCoroCleanupPass(LLVMPassManagerRef PM)
See llvm::createCoroCleanupLegacyPass function.
Definition: Coroutines.cpp:648