clang 22.0.0git
|
A scoped helper to set the current debug location to the specified location or preferred location of the specified Expr. More...
#include "/home/buildbot/as-worker-4/publish-doxygen-docs/llvm-project/clang/lib/CodeGen/CGDebugInfo.h"
Public Member Functions | |
ApplyDebugLocation (CodeGenFunction &CGF, SourceLocation TemporaryLocation) | |
Set the location to the (valid) TemporaryLocation. | |
ApplyDebugLocation (CodeGenFunction &CGF, const Expr *E) | |
ApplyDebugLocation (CodeGenFunction &CGF, llvm::DebugLoc Loc) | |
ApplyDebugLocation (ApplyDebugLocation &&Other) | |
ApplyDebugLocation & | operator= (ApplyDebugLocation &&Other) |
~ApplyDebugLocation () |
Static Public Member Functions | |
static ApplyDebugLocation | CreateArtificial (CodeGenFunction &CGF) |
Apply TemporaryLocation if it is valid. | |
static ApplyDebugLocation | CreateDefaultArtificial (CodeGenFunction &CGF, SourceLocation TemporaryLocation) |
Apply TemporaryLocation if it is valid. | |
static ApplyDebugLocation | CreateEmpty (CodeGenFunction &CGF) |
Set the IRBuilder to not attach debug locations. |
A scoped helper to set the current debug location to the specified location or preferred location of the specified Expr.
Definition at line 910 of file CGDebugInfo.h.
ApplyDebugLocation::ApplyDebugLocation | ( | CodeGenFunction & | CGF, |
SourceLocation | TemporaryLocation ) |
Set the location to the (valid) TemporaryLocation.
Definition at line 218 of file CGDebugInfo.cpp.
ApplyDebugLocation::ApplyDebugLocation | ( | CodeGenFunction & | CGF, |
const Expr * | E ) |
Definition at line 261 of file CGDebugInfo.cpp.
References clang::Expr::getExprLoc().
ApplyDebugLocation::ApplyDebugLocation | ( | CodeGenFunction & | CGF, |
llvm::DebugLoc | Loc ) |
Definition at line 266 of file CGDebugInfo.cpp.
References clang::if().
|
inline |
Definition at line 924 of file CGDebugInfo.h.
References clang::Other.
ApplyDebugLocation::~ApplyDebugLocation | ( | ) |
Definition at line 284 of file CGDebugInfo.cpp.
|
inlinestatic |
Apply TemporaryLocation if it is valid.
Otherwise switch to an artificial debug location that has a valid scope, but no line information.
Artificial locations are useful when emitting compiler-generated helper functions that have no source location associated with them. The DWARF specification allows the compiler to use the special line number 0 to indicate code that can not be attributed to any source location. Note that passing an empty SourceLocation to CGDebugInfo::setLocation() will result in the last valid location being reused.
Definition at line 950 of file CGDebugInfo.h.
Referenced by callSpecialFunction(), clang::CodeGen::CGOpenMPRuntime::checkAndEmitSharedLastprivateConditional(), clang::CodeGen::CodeGenFunction::createAtExitStub(), clang::CodeGen::CodeGenFunction::createTLSAtExitStub(), clang::CodeGen::CodeGenFunction::EmitCfiCheckFail(), clang::CodeGen::CGOpenMPRuntime::emitThreadPrivateVarDefinition(), clang::CodeGen::CodeGenFunction::generateBuiltinOSLogHelperFunction(), generateByrefCopyHelper(), generateByrefDisposeHelper(), clang::CodeGen::CodeGenFunction::GenerateCopyHelperFunction(), clang::CodeGen::CodeGenFunction::GenerateCXXGlobalCleanUpFunc(), clang::CodeGen::CodeGenFunction::GenerateCXXGlobalInitFunc(), clang::CodeGen::CodeGenFunction::GenerateCXXGlobalVarDeclInitFunc(), clang::CodeGen::CodeGenFunction::generateDestroyHelper(), clang::CodeGen::CodeGenFunction::GenerateDestroyHelperFunction(), clang::CodeGen::CodeGenFunction::generateThunk(), clang::CodeGen::CodeGenFunction::incrementProfileCounter(), and clang::CodeGen::CodeGenFunction::StartThunk().
|
inlinestatic |
Apply TemporaryLocation if it is valid.
Otherwise switch to an artificial debug location that has a valid scope, but no line information.
Definition at line 957 of file CGDebugInfo.h.
Referenced by clang::CodeGen::CodeGenFunction::EmitAutoVarInit(), clang::CodeGen::CGOpenMPRuntime::emitCall(), clang::CodeGen::CGOpenMPRuntime::emitForStaticFinish(), clang::CodeGen::CGOpenMPRuntime::emitForStaticInit(), clang::CodeGen::CodeGenFunction::EmitLandingPad(), clang::CodeGen::CodeGenFunction::EmitOMPOrderedDirective(), emitScanBasedDirective(), clang::CodeGen::CodeGenFunction::FinishFunction(), and clang::CodeGen::CGOpenMPRuntime::getThreadID().
|
inlinestatic |
Set the IRBuilder to not attach debug locations.
Note that passing an empty SourceLocation to CGDebugInfo::setLocation() will result in the last valid location being reused. Note that all instructions that do not have a location at the beginning of a function are counted towards to function prologue.
Definition at line 967 of file CGDebugInfo.h.
Referenced by clang::CodeGen::CodeGenFunction::EmitFakeUse(), clang::CodeGen::CGOpenMPRuntime::emitIfClause(), clang::CodeGen::CodeGenFunction::EmitIfStmt(), clang::CodeGen::CGOpenMPRuntime::emitLastprivateConditionalUpdate(), clang::CodeGen::CGOpenMPRuntime::emitThreadPrivateVarDefinition(), clang::CodeGen::CodeGenFunction::GenerateBlockFunction(), clang::CodeGen::CodeGenFunction::generateBuiltinOSLogHelperFunction(), clang::CodeGen::CodeGenFunction::GenerateCXXGlobalCleanUpFunc(), clang::CodeGen::CodeGenFunction::GenerateCXXGlobalInitFunc(), and clang::CodeGen::CodeGenFunction::StartThunk().
|
inline |
Definition at line 929 of file CGDebugInfo.h.
References clang::Other.