clang 20.0.0git
Public Attributes | List of all members
clang::CodeGen::BranchFixup Struct Reference

A branch fixup. More...

#include "/home/buildbot/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.
 

Detailed Description

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.

Member Data Documentation

◆ Destination

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 ResolveAllBranchFixups().

◆ DestinationIndex

unsigned clang::CodeGen::BranchFixup::DestinationIndex

The destination index value.

Definition at line 49 of file EHScopeStack.h.

Referenced by ResolveAllBranchFixups().

◆ InitialBranch

llvm::BranchInst* clang::CodeGen::BranchFixup::InitialBranch

The initial branch of the fixup.

Definition at line 52 of file EHScopeStack.h.

Referenced by ResolveAllBranchFixups().

◆ OptimisticBranchBlock

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 ResolveAllBranchFixups().


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