|
clang 22.0.0git
|
A branch fixup. More...
#include "/home/buildbot/as-worker-4/publish-doxygen-docs/llvm-project/clang/lib/CIR/CodeGen/EHScopeStack.h"
Public Attributes | |
| mlir::Block * | optimisticBranchBlock = nullptr |
| The block containing the terminator which needs to be modified into a switch if this fixup is resolved into the current scope. | |
| mlir::Block * | destination = nullptr |
| The ultimate destination of the branch. | |
| unsigned | destinationIndex = 0 |
| The destination index value. | |
| cir::BrOp | 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 34 of file EHScopeStack.h.
| mlir::Block* clang::CIRGen::BranchFixup::destination = nullptr |
The ultimate destination of the branch.
This can be set to null to indicate that this fixup was successfully resolved.
Definition at line 44 of file EHScopeStack.h.
Referenced by clang::CIRGen::CIRGenFunction::emitBranchThroughCleanup().
| unsigned clang::CIRGen::BranchFixup::destinationIndex = 0 |
The destination index value.
Definition at line 47 of file EHScopeStack.h.
Referenced by clang::CIRGen::CIRGenFunction::emitBranchThroughCleanup().
| cir::BrOp clang::CIRGen::BranchFixup::initialBranch = {} |
The initial branch of the fixup.
Definition at line 50 of file EHScopeStack.h.
Referenced by clang::CIRGen::CIRGenFunction::emitBranchThroughCleanup().
| mlir::Block* clang::CIRGen::BranchFixup::optimisticBranchBlock = nullptr |
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 38 of file EHScopeStack.h.
Referenced by clang::CIRGen::CIRGenFunction::emitBranchThroughCleanup().