This repository has been archived by the owner on Jan 1, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 63
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Differential Revision: https://reviews.llvm.org/D50950 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@340147 91177308-0d34-0410-b5e6-96231b3b80d8
- Loading branch information
1 parent
b42e314
commit ca0c461
Showing
2 changed files
with
72 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,55 @@ | ||
/*===-- Coroutines.h - Coroutines Library C Interface -----------*- C++ -*-===*\ | ||
|* *| | ||
|* The LLVM Compiler Infrastructure *| | ||
|* *| | ||
|* This file is distributed under the University of Illinois Open Source *| | ||
|* License. See LICENSE.TXT for details. *| | ||
|* *| | ||
|*===----------------------------------------------------------------------===*| | ||
|* *| | ||
|* This header declares the C interface to libLLVMCoroutines.a, which *| | ||
|* implements various scalar transformations of the LLVM IR. *| | ||
|* *| | ||
|* Many exotic languages can interoperate with C code but have a harder time *| | ||
|* with C++ due to name mangling. So in addition to C, this interface enables *| | ||
|* tools written in such languages. *| | ||
|* *| | ||
\*===----------------------------------------------------------------------===*/ | ||
|
||
#ifndef LLVM_C_TRANSFORMS_COROUTINES_H | ||
#define LLVM_C_TRANSFORMS_COROUTINES_H | ||
|
||
#include "llvm-c/Types.h" | ||
|
||
#ifdef __cplusplus | ||
extern "C" { | ||
#endif | ||
|
||
/** | ||
* @defgroup LLVMCTransformsCoroutines Coroutine transformations | ||
* @ingroup LLVMCTransforms | ||
* | ||
* @{ | ||
*/ | ||
|
||
/** See llvm::createCoroEarlyPass function. */ | ||
void LLVMAddCoroEarlyPass(LLVMPassManagerRef PM); | ||
|
||
/** See llvm::createCoroSplitPass function. */ | ||
void LLVMAddCoroSplitPass(LLVMPassManagerRef PM); | ||
|
||
/** See llvm::createCoroElidePass function. */ | ||
void LLVMAddCoroElidePass(LLVMPassManagerRef PM); | ||
|
||
/** See llvm::createCoroCleanupPass function. */ | ||
void LLVMAddCoroCleanupPass(LLVMPassManagerRef PM); | ||
|
||
/** | ||
* @} | ||
*/ | ||
|
||
#ifdef __cplusplus | ||
} | ||
#endif /* defined(__cplusplus) */ | ||
|
||
#endif |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters