mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-10-20 19:42:54 +02:00
bc3d8a44a7
A series of patches beginning with https://reviews.llvm.org/D71898 propose to add an implementation of the coroutine passes to the new pass manager. As part of these changes, the coroutine passes that implement the legacy pass manager interface are renamed, to `<PassName>Legacy`. This mirrors similar changes that have been made to many other passes in LLVM as they've been transitioned to support both old and new pass managers. This commit splits out the renaming portion of that patch and commits it in advance as an NFC (no functional change intended) commit. It renames: * `CoroEarly` => `CoroEarlyLegacy` * `CoroSplit` => `CoroSplitLegacy` * `CoroElide` => `CoroElideLegacy` * `CoroCleanup` => `CoroCleanupLegacy`
53 lines
2.1 KiB
C++
53 lines
2.1 KiB
C++
/*===-- Coroutines.h - Coroutines Library C Interface -----------*- C++ -*-===*\
|
|
|* *|
|
|
|* Part of the LLVM Project, under the Apache License v2.0 with LLVM *|
|
|
|* Exceptions. *|
|
|
|* See https://llvm.org/LICENSE.txt for license information. *|
|
|
|* SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception *|
|
|
|* *|
|
|
|*===----------------------------------------------------------------------===*|
|
|
|* *|
|
|
|* 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/ExternC.h"
|
|
#include "llvm-c/Types.h"
|
|
|
|
LLVM_C_EXTERN_C_BEGIN
|
|
|
|
/**
|
|
* @defgroup LLVMCTransformsCoroutines Coroutine transformations
|
|
* @ingroup LLVMCTransforms
|
|
*
|
|
* @{
|
|
*/
|
|
|
|
/** See llvm::createCoroEarlyLegacyPass function. */
|
|
void LLVMAddCoroEarlyPass(LLVMPassManagerRef PM);
|
|
|
|
/** See llvm::createCoroSplitLegacyPass function. */
|
|
void LLVMAddCoroSplitPass(LLVMPassManagerRef PM);
|
|
|
|
/** See llvm::createCoroElideLegacyPass function. */
|
|
void LLVMAddCoroElidePass(LLVMPassManagerRef PM);
|
|
|
|
/** See llvm::createCoroCleanupLegacyPass function. */
|
|
void LLVMAddCoroCleanupPass(LLVMPassManagerRef PM);
|
|
|
|
/**
|
|
* @}
|
|
*/
|
|
|
|
LLVM_C_EXTERN_C_END
|
|
|
|
#endif
|