Pass that elides heap allocation for coroutine calls marked coro_elide_safe.

Synopsis

Declared in <llvm/Transforms/Coroutines/CoroAnnotationElide.h>

struct CoroAnnotationElidePass
    : OptionalPassInfoMixin<CoroAnnotationElidePass>

Description

Call and Invoke instructions annotated coro_elide_safe are rewritten to call the .noalloc variant of the coroutine. The callee's frame is allocated in the caller and a pointer to it is passed into the .noalloc ramp function.

Base Classes

Name

Description

OptionalPassInfoMixin<CoroAnnotationElidePass>

A CRTP mix‐in for passes that can be skipped.

Member Functions

Name

Description

CoroAnnotationElidePass [constructor]

Construct a coroutine annotation elide pass.

run

Elide annotated coroutine calls in SCC C.

Static Member Functions

Name

Description

isRequired

Return false; optional passes may be skipped.

Created with MrDocs