clang 22.0.0git
|
Represents a scope, including function bodies, compound statements, and the substatements of if/while/do/for/switch/try statements. More...
#include "/home/buildbot/as-worker-4/publish-doxygen-docs/llvm-project/clang/lib/CIR/CodeGen/CIRGenFunction.h"
Public Member Functions | |
LexicalScope (CIRGenFunction &cgf, mlir::Location loc, mlir::Block *eb) | |
void | setRetVal (mlir::Value v) |
void | cleanup () |
void | restore () |
~LexicalScope () | |
bool | isGlobalInit () |
bool | isRegular () |
bool | isSwitch () |
bool | isTernary () |
bool | isTry () |
void | setAsGlobalInit () |
void | setAsSwitch () |
void | setAsTernary () |
mlir::Block * | getOrCreateCleanupBlock (mlir::OpBuilder &builder) |
mlir::Block * | getCleanupBlock (mlir::OpBuilder &builder) |
mlir::Block * | createCleanupBlock (mlir::OpBuilder &builder) |
mlir::Block * | getRetBlock () |
mlir::Location | getRetLoc (mlir::Block *b) |
void | updateRetLoc (mlir::Block *b, mlir::Location loc) |
mlir::Block * | getOrCreateRetBlock (CIRGenFunction &cgf, mlir::Location loc) |
mlir::Block * | getEntryBlock () |
![]() | |
RunCleanupsScope (CIRGenFunction &cgf) | |
Enter a new cleanup scope. | |
~RunCleanupsScope () | |
Exit this cleanup scope, emitting any accumulated cleanups. | |
void | forceCleanup () |
Force the emission of cleanups now, instead of waiting until this object is destroyed. | |
Public Attributes | |
unsigned | depth = 0 |
Additional Inherited Members | |
![]() | |
bool | performCleanup |
CIRGenFunction & | cgf |
Represents a scope, including function bodies, compound statements, and the substatements of if/while/do/for/switch/try statements.
This class handles any automatic cleanup, along with the return value.
Definition at line 774 of file CIRGenFunction.h.
|
inline |
Definition at line 807 of file CIRGenFunction.h.
References clang::CIRGen::CIRGenFunction::RunCleanupsScope::cgf, clang::CIRGen::CIRGenFunction::curLexScope, and depth.
|
inline |
Definition at line 828 of file CIRGenFunction.h.
References cleanup(), cir::MissingFeatures::generateDebugInfo(), and restore().
void clang::CIRGen::CIRGenFunction::LexicalScope::cleanup | ( | ) |
Definition at line 231 of file CIRGenFunction.cpp.
References clang::CIRGen::CIRGenFunction::RunCleanupsScope::cgf, clang::CIRGen::CIRGenFunction::curLexScope, depth, clang::CIRGen::CIRGenFunction::RunCleanupsScope::forceCleanup(), cir::MissingFeatures::generateDebugInfo(), getCleanupBlock(), isGlobalInit(), isTernary(), and clang::CIRGen::CIRGenFunction::RunCleanupsScope::performCleanup.
Referenced by ~LexicalScope().
|
inline |
Definition at line 859 of file CIRGenFunction.h.
References clang::CIRGen::CIRGenFunction::RunCleanupsScope::cgf, and clang::CIRGen::CIRGenFunction::curFn.
Referenced by getOrCreateCleanupBlock().
|
inline |
Definition at line 855 of file CIRGenFunction.h.
Referenced by cleanup().
|
inline |
Definition at line 913 of file CIRGenFunction.h.
|
inline |
Definition at line 848 of file CIRGenFunction.h.
References createCleanupBlock().
|
inline |
Definition at line 904 of file CIRGenFunction.h.
References clang::CIRGen::CIRGenFunction::RunCleanupsScope::cgf, and updateRetLoc().
Referenced by clang::CIRGen::CIRGenFunction::emitReturnStmt().
|
inline |
Definition at line 896 of file CIRGenFunction.h.
|
inline |
Definition at line 897 of file CIRGenFunction.h.
|
inline |
Definition at line 837 of file CIRGenFunction.h.
Referenced by cleanup().
|
inline |
Definition at line 838 of file CIRGenFunction.h.
|
inline |
Definition at line 839 of file CIRGenFunction.h.
|
inline |
Definition at line 840 of file CIRGenFunction.h.
Referenced by cleanup().
|
inline |
Definition at line 841 of file CIRGenFunction.h.
|
inline |
Definition at line 826 of file CIRGenFunction.h.
References clang::CIRGen::CIRGenFunction::RunCleanupsScope::cgf, and clang::CIRGen::CIRGenFunction::curLexScope.
Referenced by ~LexicalScope().
|
inline |
Definition at line 843 of file CIRGenFunction.h.
|
inline |
Definition at line 844 of file CIRGenFunction.h.
Referenced by clang::CIRGen::CIRGenFunction::emitSwitchStmt().
|
inline |
Definition at line 845 of file CIRGenFunction.h.
|
inline |
Definition at line 823 of file CIRGenFunction.h.
|
inline |
Definition at line 898 of file CIRGenFunction.h.
Referenced by getOrCreateRetBlock().
unsigned clang::CIRGen::CIRGenFunction::LexicalScope::depth = 0 |
Definition at line 805 of file CIRGenFunction.h.
Referenced by cleanup(), and LexicalScope().