clang 23.0.0git
clang::CIRGen::EHCleanupScope Class Reference

A cleanup scope which generates the cleanup blocks lazily. More...

#include "/work/as-worker-4/publish-doxygen-docs/llvm-project/clang/lib/CIR/CodeGen/CIRGenCleanup.h"

Inheritance diagram for clang::CIRGen::EHCleanupScope:
[legend]

Public Member Functions

size_t getAllocatedSize () const
 EHCleanupScope (bool isNormal, bool isEH, unsigned cleanupSize, cir::CleanupScopeOp cleanupScopeOp, EHScopeStack::stable_iterator enclosingNormal, EHScopeStack::stable_iterator enclosingEH)
void destroy ()
 ~EHCleanupScope ()=delete
mlir::Block * getNormalBlock () const
void setNormalBlock (mlir::Block *bb)
bool isNormalCleanup () const
bool isEHCleanup () const
bool isActive () const
void setActive (bool isActive)
bool isLifetimeMarker () const
bool hasActiveFlag () const
Address getActiveFlag () const
void setActiveFlag (Address var)
void setTestFlagInNormalCleanup ()
bool shouldTestFlagInNormalCleanup () const
void setTestFlagInEHCleanup ()
bool shouldTestFlagInEHCleanup () const
EHScopeStack::stable_iterator getEnclosingNormalCleanup () const
size_t getCleanupSize () const
void * getCleanupBuffer ()
EHScopeStack::CleanupgetCleanup ()
cir::CleanupScopeOp getCleanupScopeOp ()
void markEmitted ()
Public Member Functions inherited from clang::CIRGen::EHScope
 EHScope (Kind kind, EHScopeStack::stable_iterator enclosingEHScope)
Kind getKind () const
bool mayThrow () const
void setMayThrow (bool mayThrow)
EHScopeStack::stable_iterator getEnclosingEHScope () const

Static Public Member Functions

static size_t getSizeForCleanupSize (size_t size)
 Gets the size required for a lazy cleanup scope with the given cleanup-data requirements.
static bool classof (const EHScope *scope)

Additional Inherited Members

Public Types inherited from clang::CIRGen::EHScope
enum  Kind { Cleanup , Terminate , Filter }
Protected Attributes inherited from clang::CIRGen::EHScope
union { 
   CommonBitFields   commonBits 
   CleanupBitFields   cleanupBits 
}; 

Detailed Description

A cleanup scope which generates the cleanup blocks lazily.

Definition at line 102 of file CIRGenCleanup.h.

Constructor & Destructor Documentation

◆ EHCleanupScope()

clang::CIRGen::EHCleanupScope::EHCleanupScope ( bool isNormal,
bool isEH,
unsigned cleanupSize,
cir::CleanupScopeOp cleanupScopeOp,
EHScopeStack::stable_iterator enclosingNormal,
EHScopeStack::stable_iterator enclosingEH )
inline

◆ ~EHCleanupScope()

clang::CIRGen::EHCleanupScope::~EHCleanupScope ( )
delete

Member Function Documentation

◆ classof()

bool clang::CIRGen::EHCleanupScope::classof ( const EHScope * scope)
inlinestatic

◆ destroy()

void clang::CIRGen::EHCleanupScope::destroy ( )
inline

Definition at line 146 of file CIRGenCleanup.h.

◆ getActiveFlag()

Address clang::CIRGen::EHCleanupScope::getActiveFlag ( ) const
inline

◆ getAllocatedSize()

size_t clang::CIRGen::EHCleanupScope::getAllocatedSize ( ) const
inline

Definition at line 125 of file CIRGenCleanup.h.

References clang::CIRGen::EHScope::cleanupBits, and EHCleanupScope().

◆ getCleanup()

EHScopeStack::Cleanup * clang::CIRGen::EHCleanupScope::getCleanup ( )
inline

Definition at line 184 of file CIRGenCleanup.h.

References getCleanupBuffer().

◆ getCleanupBuffer()

void * clang::CIRGen::EHCleanupScope::getCleanupBuffer ( )
inline

Definition at line 182 of file CIRGenCleanup.h.

Referenced by getCleanup(), and clang::CIRGen::CIRGenFunction::popCleanupBlock().

◆ getCleanupScopeOp()

cir::CleanupScopeOp clang::CIRGen::EHCleanupScope::getCleanupScopeOp ( )
inline

Definition at line 188 of file CIRGenCleanup.h.

Referenced by clang::CIRGen::CIRGenFunction::popCleanupBlock().

◆ getCleanupSize()

size_t clang::CIRGen::EHCleanupScope::getCleanupSize ( ) const
inline

◆ getEnclosingNormalCleanup()

EHScopeStack::stable_iterator clang::CIRGen::EHCleanupScope::getEnclosingNormalCleanup ( ) const
inline

Definition at line 177 of file CIRGenCleanup.h.

◆ getNormalBlock()

mlir::Block * clang::CIRGen::EHCleanupScope::getNormalBlock ( ) const
inline

Definition at line 150 of file CIRGenCleanup.h.

◆ getSizeForCleanupSize()

size_t clang::CIRGen::EHCleanupScope::getSizeForCleanupSize ( size_t size)
inlinestatic

Gets the size required for a lazy cleanup scope with the given cleanup-data requirements.

Definition at line 121 of file CIRGenCleanup.h.

References EHCleanupScope().

◆ hasActiveFlag()

bool clang::CIRGen::EHCleanupScope::hasActiveFlag ( ) const
inline

Definition at line 161 of file CIRGenCleanup.h.

◆ isActive()

bool clang::CIRGen::EHCleanupScope::isActive ( ) const
inline

◆ isEHCleanup()

bool clang::CIRGen::EHCleanupScope::isEHCleanup ( ) const
inline

◆ isLifetimeMarker()

bool clang::CIRGen::EHCleanupScope::isLifetimeMarker ( ) const
inline

Definition at line 159 of file CIRGenCleanup.h.

References clang::CIRGen::EHScope::cleanupBits.

◆ isNormalCleanup()

bool clang::CIRGen::EHCleanupScope::isNormalCleanup ( ) const
inline

◆ markEmitted()

void clang::CIRGen::EHCleanupScope::markEmitted ( )
inline

Definition at line 194 of file CIRGenCleanup.h.

Referenced by clang::CIRGen::CIRGenFunction::popCleanupBlock().

◆ setActive()

void clang::CIRGen::EHCleanupScope::setActive ( bool isActive)
inline

◆ setActiveFlag()

void clang::CIRGen::EHCleanupScope::setActiveFlag ( Address var)
inline

Definition at line 163 of file CIRGenCleanup.h.

Referenced by setupCleanupBlockDeactivation().

◆ setNormalBlock()

void clang::CIRGen::EHCleanupScope::setNormalBlock ( mlir::Block * bb)
inline

Definition at line 151 of file CIRGenCleanup.h.

◆ setTestFlagInEHCleanup()

void clang::CIRGen::EHCleanupScope::setTestFlagInEHCleanup ( )
inline

Definition at line 172 of file CIRGenCleanup.h.

References clang::CIRGen::EHScope::cleanupBits.

Referenced by setupCleanupBlockDeactivation().

◆ setTestFlagInNormalCleanup()

void clang::CIRGen::EHCleanupScope::setTestFlagInNormalCleanup ( )
inline

Definition at line 165 of file CIRGenCleanup.h.

References clang::CIRGen::EHScope::cleanupBits.

Referenced by setupCleanupBlockDeactivation().

◆ shouldTestFlagInEHCleanup()

bool clang::CIRGen::EHCleanupScope::shouldTestFlagInEHCleanup ( ) const
inline

◆ shouldTestFlagInNormalCleanup()

bool clang::CIRGen::EHCleanupScope::shouldTestFlagInNormalCleanup ( ) const
inline

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