| 
    clang 22.0.0git
    
   | 
 
A branch fixup. More...
#include "/work/as-worker-4/publish-doxygen-docs/llvm-project/clang/lib/CodeGen/EHScopeStack.h"
Public Attributes | |
| llvm::BasicBlock * | OptimisticBranchBlock | 
| The block containing the terminator which needs to be modified into a switch if this fixup is resolved into the current scope.   | |
| llvm::BasicBlock * | Destination | 
| The ultimate destination of the branch.   | |
| unsigned | DestinationIndex | 
| The destination index value.   | |
| llvm::BranchInst * | InitialBranch | 
| The initial branch of the fixup.   | |
A branch fixup.
These are required when emitting a goto to a label which hasn't been emitted yet. The goto is optimistically emitted as a branch to the basic block for the label, and (if it occurs in a scope with non-trivial cleanups) a fixup is added to the innermost cleanup. When a (normal) cleanup is popped, any unresolved fixups in that scope are threaded through the cleanup.
Definition at line 36 of file EHScopeStack.h.
| llvm::BasicBlock* clang::CodeGen::BranchFixup::Destination | 
The ultimate destination of the branch.
This can be set to null to indicate that this fixup was successfully resolved.
Definition at line 46 of file EHScopeStack.h.
Referenced by clang::CodeGen::CodeGenFunction::EmitBranchThroughCleanup(), clang::CodeGen::CodeGenFunction::PopCleanupBlock(), ResolveAllBranchFixups(), and clang::CodeGen::CodeGenFunction::ResolveBranchFixups().
| unsigned clang::CodeGen::BranchFixup::DestinationIndex | 
The destination index value.
Definition at line 49 of file EHScopeStack.h.
Referenced by clang::CodeGen::CodeGenFunction::EmitBranchThroughCleanup(), clang::CodeGen::CodeGenFunction::PopCleanupBlock(), ResolveAllBranchFixups(), and clang::CodeGen::CodeGenFunction::ResolveBranchFixups().
| llvm::BranchInst* clang::CodeGen::BranchFixup::InitialBranch | 
The initial branch of the fixup.
Definition at line 52 of file EHScopeStack.h.
Referenced by clang::CodeGen::CodeGenFunction::EmitBranchThroughCleanup(), clang::CodeGen::CodeGenFunction::PopCleanupBlock(), and ResolveAllBranchFixups().
| llvm::BasicBlock* clang::CodeGen::BranchFixup::OptimisticBranchBlock | 
The block containing the terminator which needs to be modified into a switch if this fixup is resolved into the current scope.
If null, LatestBranch points directly to the destination.
Definition at line 40 of file EHScopeStack.h.
Referenced by clang::CodeGen::CodeGenFunction::EmitBranchThroughCleanup(), clang::CodeGen::CodeGenFunction::PopCleanupBlock(), ResolveAllBranchFixups(), and clang::CodeGen::CodeGenFunction::ResolveBranchFixups().