LLVM: include/llvm/Transforms/Coroutines/CoroSplit.h Source File (original) (raw)

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15#ifndef LLVM_TRANSFORMS_COROUTINES_COROSPLIT_H

16#define LLVM_TRANSFORMS_COROUTINES_COROSPLIT_H

17

23

24namespace llvm {

25

26namespace coro {

29}

30

34

36

39

43

48

52

54

55

57

58

60};

61}

62

63#endif

This header provides classes for managing passes over SCCs of the call graph.

This header defines various interfaces for pass management in LLVM.

Implements a lazy call graph analysis and related passes for the new pass manager.

An SCC of the call graph.

A lazily constructed view of the call graph of a module.

A set of analyses that are preserved following a run of a transformation pass.

This is a 'vector' (really, a variable-sized array), optimized for the case when the array is small.

@ C

The default llvm calling convention, compatible with C.

This is an optimization pass for GlobalISel generic memory operations.

AnalysisManager< LazyCallGraph::SCC, LazyCallGraph & > CGSCCAnalysisManager

The CGSCC analysis manager.

Support structure for SCC passes to communicate updates the call graph back to the CGSCC pass manager...

LLVM_ABI PreservedAnalyses run(LazyCallGraph::SCC &C, CGSCCAnalysisManager &AM, LazyCallGraph &CG, CGSCCUpdateResult &UR)

LLVM_ABI CoroSplitPass(bool OptimizeFrame=false)

BaseABITy CreateAndInitABI

Definition CoroSplit.h:56

static bool isRequired()

Definition CoroSplit.h:53

std::function< std::unique_ptr< coro::BaseABI >(Function &, coro::Shape &)> BaseABITy

Definition CoroSplit.h:32

bool OptimizeFrame

Definition CoroSplit.h:59

A CRTP mix-in to automatically provide informational APIs needed for passes.