Subversion Repositories QNX 8.QNX8 LLVM/Clang compiler suite

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
14 pmbaty 1
//===---- CoroEarly.h - Lower early coroutine intrinsics --------*- C++ -*-===//
2
//
3
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4
// See https://llvm.org/LICENSE.txt for license information.
5
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6
//
7
//===----------------------------------------------------------------------===//
8
//
9
// \file
10
// This file provides the interface to the early coroutine intrinsic lowering
11
// pass. This pass lowers coroutine intrinsics that hide the details of the
12
// exact calling convention for coroutine resume and destroy functions and
13
// details of the structure of the coroutine frame.
14
//
15
//===----------------------------------------------------------------------===//
16
 
17
#ifndef LLVM_TRANSFORMS_COROUTINES_COROEARLY_H
18
#define LLVM_TRANSFORMS_COROUTINES_COROEARLY_H
19
 
20
#include "llvm/IR/PassManager.h"
21
 
22
namespace llvm {
23
 
24
class Module;
25
 
26
struct CoroEarlyPass : PassInfoMixin<CoroEarlyPass> {
27
  PreservedAnalyses run(Module &M, ModuleAnalysisManager &AM);
28
  static bool isRequired() { return true; }
29
};
30
} // end namespace llvm
31
 
32
#endif // LLVM_TRANSFORMS_COROUTINES_COROEARLY_H