clang 20.0.0git
|
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. | |
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 ResolveAllBranchFixups().
unsigned clang::CodeGen::BranchFixup::DestinationIndex |
The destination index value.
Definition at line 49 of file EHScopeStack.h.
Referenced by ResolveAllBranchFixups().
llvm::BranchInst* clang::CodeGen::BranchFixup::InitialBranch |
The initial branch of the fixup.
Definition at line 52 of file EHScopeStack.h.
Referenced by 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 ResolveAllBranchFixups().