clang 22.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 (unsigned cleanupSize, unsigned fixupDepth, 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 isActive () const
void setActive (bool isActive)
unsigned getFixupDepth () const
EHScopeStack::stable_iterator getEnclosingNormalCleanup () const
size_t getCleanupSize () const
void * getCleanupBuffer ()
EHScopeStack::CleanupgetCleanup ()
void markEmitted ()
Public Member Functions inherited from clang::CIRGen::EHScope
 EHScope (Kind kind, EHScopeStack::stable_iterator enclosingEHScope)
Kind getKind () const
bool mayThrow () const
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 , Catch , Terminate , Filter }
Protected Attributes inherited from clang::CIRGen::EHScope
union { 
   CommonBitFields   commonBits 
   CatchBitFields   catchBits 
   CleanupBitFields   cleanupBits 
}; 

Detailed Description

A cleanup scope which generates the cleanup blocks lazily.

Definition at line 179 of file CIRGenCleanup.h.

Constructor & Destructor Documentation

◆ EHCleanupScope()

clang::CIRGen::EHCleanupScope::EHCleanupScope ( unsigned cleanupSize,
unsigned fixupDepth,
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 222 of file CIRGenCleanup.h.

◆ getAllocatedSize()

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

Definition at line 200 of file CIRGenCleanup.h.

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

◆ getCleanup()

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

Definition at line 242 of file CIRGenCleanup.h.

References getCleanupBuffer().

◆ getCleanupBuffer()

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

Definition at line 240 of file CIRGenCleanup.h.

Referenced by getCleanup(), and 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 235 of file CIRGenCleanup.h.

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

◆ getFixupDepth()

unsigned clang::CIRGen::EHCleanupScope::getFixupDepth ( ) const
inline

Definition at line 234 of file CIRGenCleanup.h.

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

◆ getNormalBlock()

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

Definition at line 226 of file CIRGenCleanup.h.

Referenced by createNormalEntry().

◆ 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 196 of file CIRGenCleanup.h.

References EHCleanupScope().

◆ isActive()

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

◆ isNormalCleanup()

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

◆ markEmitted()

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

Definition at line 250 of file CIRGenCleanup.h.

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

◆ setActive()

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

Definition at line 232 of file CIRGenCleanup.h.

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

◆ setNormalBlock()

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

Definition at line 227 of file CIRGenCleanup.h.

Referenced by createNormalEntry().


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