A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://clang.llvm.org/doxygen/classclang_1_1CodeGen_1_1EHCleanupScope.html below:

clang: clang::CodeGen::EHCleanupScope Class Reference

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  ) inline

Add 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 ) inline

Add 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.

Returns
true if the branch-through was new to this scope

Definition at line 481 of file CGCleanup.h.

References clang::Block.

◆ classof() static bool clang::CodeGen::EHCleanupScope::classof ( const EHScopeScope ) inlinestatic ◆ Destroy() void clang::CodeGen::EHCleanupScope::Destroy ( ) inline

Definition at line 367 of file CGCleanup.h.

◆ getActiveFlag() Address clang::CodeGen::EHCleanupScope::getActiveFlag ( ) const inline

Definition 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 inline

Definition 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 ) inlinestatic

Gets 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 inline

True 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 inline

Determines 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 ( ) inline

Definition 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 ) inline

Definition 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 inline

The 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