LLVM 22.0.0git
llvm::coro::SwitchCloner Class Reference

#include "Transforms/Coroutines/CoroCloner.h"

Inheritance diagram for llvm::coro::SwitchCloner:
[legend]

Static Public Member Functions

static FunctioncreateClone (Function &OrigF, const Twine &Suffix, coro::Shape &Shape, CloneKind FKind, TargetTransformInfo &TTI)
 Create a clone for a switch lowering.
Static Public Member Functions inherited from llvm::coro::BaseCloner
static FunctioncreateClone (Function &OrigF, const Twine &Suffix, coro::Shape &Shape, Function *NewF, AnyCoroSuspendInst *ActiveSuspend, TargetTransformInfo &TTI)
 Create a clone for a continuation lowering.

Protected Member Functions

 SwitchCloner (Function &OrigF, const Twine &Suffix, coro::Shape &Shape, CloneKind FKind, TargetTransformInfo &TTI)
 Create a cloner for a switch lowering.
void create () override
 Clone the body of the original function into a resume function of some sort.
Protected Member Functions inherited from llvm::coro::BaseCloner
 BaseCloner (Function &OrigF, const Twine &Suffix, coro::Shape &Shape, Function *NewF, AnyCoroSuspendInst *ActiveSuspend, TargetTransformInfo &TTI)
 Create a cloner for a continuation lowering.
bool isSwitchDestroyFunction ()
void replaceEntryBlock ()
ValuederiveNewFramePointer ()
 Derive the value of the new frame pointer.
void replaceRetconOrAsyncSuspendUses ()
 Replace uses of the active llvm.coro.suspend.retcon/async call with the arguments to the continuation function.
void replaceCoroSuspends ()
void replaceCoroEnds ()
void replaceSwiftErrorOps ()
void salvageDebugInfo ()
void handleFinalSuspend ()

Additional Inherited Members

Public Member Functions inherited from llvm::coro::BaseCloner
 BaseCloner (Function &OrigF, const Twine &Suffix, coro::Shape &Shape, CloneKind FKind, TargetTransformInfo &TTI)
virtual ~BaseCloner ()
FunctiongetFunction () const
Protected Attributes inherited from llvm::coro::BaseCloner
FunctionOrigF
const TwineSuffix
coro::ShapeShape
CloneKind FKind
IRBuilder Builder
TargetTransformInfoTTI
ValueToValueMapTy VMap
FunctionNewF = nullptr
ValueNewFramePtr = nullptr
AnyCoroSuspendInstActiveSuspend = nullptr
 The active suspend instruction; meaningful only for continuation and async ABIs.

Detailed Description

Definition at line 128 of file CoroCloner.h.

Constructor & Destructor Documentation

◆ SwitchCloner()

llvm::coro::SwitchCloner::SwitchCloner ( Function & OrigF,
const Twine & Suffix,
coro::Shape & Shape,
CloneKind FKind,
TargetTransformInfo & TTI )
inlineprotected

Member Function Documentation

◆ create()

void coro::SwitchCloner::create ( )
overrideprotectedvirtual

◆ createClone()

Function * llvm::coro::SwitchCloner::createClone ( Function & OrigF,
const Twine & Suffix,
coro::Shape & Shape,
CloneKind FKind,
TargetTransformInfo & TTI )
inlinestatic

The documentation for this class was generated from the following files: