A cleanup scope which generates the cleanup blocks lazily. More...
#include "/home/buildbot/as-worker-4/publish-doxygen-docs/llvm-project/clang/lib/CodeGen/CGCleanup.h"
A cleanup scope which generates the cleanup blocks lazily.
Definition at line 247 of file CGCleanup.h.
◆ EHCleanupScope() ◆ ~EHCleanupScope() clang::CodeGen::EHCleanupScope::~EHCleanupScope ( ) delete ◆ AddAuxAllocas() ◆ addBranchAfter() void clang::CodeGen::EHCleanupScope::addBranchAfter ( llvm::ConstantInt * Index, llvm::BasicBlock * Block ) inlineAdd a branch-after to this cleanup scope.
A branch-after is a branch from a point protected by this (normal) cleanup to a point in the normal cleanup scope immediately containing it. For example, for (;;) { A a; break; } contains a branch-after.
Branch-afters each have their own destination out of the cleanup, guaranteed distinct from anything else threaded through it. Therefore branch-afters usually force a switch after the cleanup.
Definition at line 444 of file CGCleanup.h.
References clang::Block.
◆ addBranchThrough() bool clang::CodeGen::EHCleanupScope::addBranchThrough ( llvm::BasicBlock * Block ) inlineAdd a branch-through to this cleanup scope.
A branch-through is a branch from a scope protected by this (normal) cleanup to an enclosing scope other than the immediately-enclosing normal cleanup scope.
In the following example, the branch through B's scope is a branch-through, while the branch through A's scope is a branch-after: for (;;) { A a; B b; break; }
All branch-throughs have a common destination out of the cleanup, one possibly shared with the fall-through. Therefore branch-throughs usually don't force a switch after the cleanup.
Definition at line 481 of file CGCleanup.h.
References clang::Block.
◆ classof() static bool clang::CodeGen::EHCleanupScope::classof ( const EHScope * Scope ) inlinestatic ◆ Destroy() void clang::CodeGen::EHCleanupScope::Destroy ( ) inlineDefinition at line 367 of file CGCleanup.h.
◆ getActiveFlag() Address clang::CodeGen::EHCleanupScope::getActiveFlag ( ) const inlineDefinition at line 396 of file CGCleanup.h.
◆ getAllocatedSize() size_t clang::CodeGen::EHCleanupScope::getAllocatedSize ( ) const inline ◆ getBranchAfterBlock() llvm::BasicBlock * clang::CodeGen::EHCleanupScope::getBranchAfterBlock ( unsigned I ) const inline ◆ getBranchAfterIndex() llvm::ConstantInt * clang::CodeGen::EHCleanupScope::getBranchAfterIndex ( unsigned I ) const inline ◆ getCleanup() ◆ getCleanupBuffer() void * clang::CodeGen::EHCleanupScope::getCleanupBuffer ( ) inline ◆ getCleanupSize() size_t clang::CodeGen::EHCleanupScope::getCleanupSize ( ) const inline ◆ getEnclosingNormalCleanup() ◆ getFixupDepth() unsigned clang::CodeGen::EHCleanupScope::getFixupDepth ( ) const inlineDefinition at line 418 of file CGCleanup.h.
◆ getNormalBlock() llvm::BasicBlock * clang::CodeGen::EHCleanupScope::getNormalBlock ( ) const inline ◆ getNumBranchAfters() unsigned clang::CodeGen::EHCleanupScope::getNumBranchAfters ( ) const inline ◆ getSizeForCleanupSize() static size_t clang::CodeGen::EHCleanupScope::getSizeForCleanupSize ( size_t Size ) inlinestaticGets the size required for a lazy cleanup scope with the given cleanup-data requirements.
Definition at line 339 of file CGCleanup.h.
◆ hasActiveFlag() bool clang::CodeGen::EHCleanupScope::hasActiveFlag ( ) const inline ◆ hasBranches() bool clang::CodeGen::EHCleanupScope::hasBranches ( ) const inlineTrue if this cleanup scope has any branch-afters or branch-throughs.
Definition at line 431 of file CGCleanup.h.
◆ hasBranchThroughs() bool clang::CodeGen::EHCleanupScope::hasBranchThroughs ( ) const inlineDetermines if this cleanup scope has any branch throughs.
Definition at line 486 of file CGCleanup.h.
◆ isActive() bool clang::CodeGen::EHCleanupScope::isActive ( ) const inline ◆ isEHCleanup() bool clang::CodeGen::EHCleanupScope::isEHCleanup ( ) const inline ◆ isFakeUse() bool clang::CodeGen::EHCleanupScope::isFakeUse ( ) const inline ◆ isLifetimeMarker() bool clang::CodeGen::EHCleanupScope::isLifetimeMarker ( ) const inline ◆ isNormalCleanup() bool clang::CodeGen::EHCleanupScope::isNormalCleanup ( ) const inline ◆ MarkEmitted() void clang::CodeGen::EHCleanupScope::MarkEmitted ( ) inlineDefinition at line 376 of file CGCleanup.h.
◆ setActive() void clang::CodeGen::EHCleanupScope::setActive ( bool A ) inline ◆ setActiveFlag() void clang::CodeGen::EHCleanupScope::setActiveFlag ( RawAddress Var ) inline ◆ setFakeUse() void clang::CodeGen::EHCleanupScope::setFakeUse ( ) inline ◆ setLifetimeMarker() void clang::CodeGen::EHCleanupScope::setLifetimeMarker ( ) inline ◆ setNormalBlock() void clang::CodeGen::EHCleanupScope::setNormalBlock ( llvm::BasicBlock * BB ) inlineDefinition at line 382 of file CGCleanup.h.
◆ setTestFlagInEHCleanup() void clang::CodeGen::EHCleanupScope::setTestFlagInEHCleanup ( ) inline ◆ setTestFlagInNormalCleanup() void clang::CodeGen::EHCleanupScope::setTestFlagInNormalCleanup ( ) inline ◆ shouldTestFlagInEHCleanup() bool clang::CodeGen::EHCleanupScope::shouldTestFlagInEHCleanup ( ) const inline ◆ shouldTestFlagInNormalCleanup() bool clang::CodeGen::EHCleanupScope::shouldTestFlagInNormalCleanup ( ) const inlineThe documentation for this class was generated from the following file:
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4