clang 22.0.0git
CodeGenFunction.h File Reference
#include "CGBuilder.h"
#include "CGLoopInfo.h"
#include "CGValue.h"
#include "CodeGenModule.h"
#include "EHScopeStack.h"
#include "SanitizerHandler.h"
#include "VarBypassDetector.h"
#include "clang/AST/CharUnits.h"
#include "clang/AST/CurrentSourceLocExprScope.h"
#include "clang/AST/ExprCXX.h"
#include "clang/AST/ExprObjC.h"
#include "clang/AST/ExprOpenMP.h"
#include "clang/AST/StmtOpenACC.h"
#include "clang/AST/StmtOpenMP.h"
#include "clang/AST/StmtSYCL.h"
#include "clang/AST/Type.h"
#include "clang/Basic/ABI.h"
#include "clang/Basic/CapturedStmt.h"
#include "clang/Basic/CodeGenOptions.h"
#include "clang/Basic/OpenMPKinds.h"
#include "clang/Basic/TargetInfo.h"
#include "llvm/ADT/ArrayRef.h"
#include "llvm/ADT/DenseMap.h"
#include "llvm/ADT/MapVector.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/Frontend/OpenMP/OMPIRBuilder.h"
#include "llvm/IR/Instructions.h"
#include "llvm/IR/ValueHandle.h"
#include "llvm/Support/Debug.h"
#include "llvm/Transforms/Utils/SanitizerStats.h"
#include <optional>

Go to the source code of this file.

Classes

struct  clang::CodeGen::DominatingLLVMValue
 Helper class with most of the code for saving a value for a conditional expression cleanup. More...
struct  clang::CodeGen::DominatingPointer< T, true >
 A partial specialization of DominatingValue for llvm::Values that might be llvm::Instructions. More...
struct  clang::CodeGen::DominatingValue< Address >
 A specialization of DominatingValue for Address. More...
struct  clang::CodeGen::DominatingValue< Address >::saved_type
struct  clang::CodeGen::DominatingValue< RValue >
 A specialization of DominatingValue for RValue. More...
class  clang::CodeGen::DominatingValue< RValue >::saved_type
class  clang::CodeGen::ApplyAtomGroup
 A scoped helper to set the current source atom group for CGDebugInfo::addInstToCurrentSourceAtom. More...
class  clang::CodeGen::CodeGenFunction
 CodeGenFunction - This class organizes the per-function state that is used while generating LLVM code. More...
struct  clang::CodeGen::CodeGenFunction::JumpDest
 A jump destination is an abstract label, branching to which may require a jump out through normal cleanups. More...
struct  clang::CodeGen::CodeGenFunction::CGCoroInfo
struct  clang::CodeGen::CodeGenFunction::AwaitSuspendWrapperInfo
class  clang::CodeGen::CodeGenFunction::CGCapturedStmtInfo
 API for captured statement code generation. More...
class  clang::CodeGen::CodeGenFunction::CGCapturedStmtRAII
 RAII for correct setting/restoring of CapturedStmtInfo. More...
class  clang::CodeGen::CodeGenFunction::AbstractCallee
 An abstract representation of regular/ObjC call/message targets. More...
class  clang::CodeGen::CodeGenFunction::SanitizerScope
 RAII object to set/unset CodeGenFunction::IsSanitizerScope. More...
struct  clang::CodeGen::CodeGenFunction::DeferredDeactivateCleanup
struct  clang::CodeGen::CodeGenFunction::CleanupDeactivationScope
class  clang::CodeGen::CodeGenFunction::CallLifetimeEnd
class  clang::CodeGen::CodeGenFunction::FakeUse
struct  clang::CodeGen::CodeGenFunction::LifetimeExtendedCleanupHeader
 Header for data within LifetimeExtendedCleanupStack. More...
class  clang::CodeGen::CodeGenFunction::ParentLoopDirectiveForScanRegion
 Manages parent directive for scan directives. More...
class  clang::CodeGen::CodeGenFunction::CGFPOptionsRAII
class  clang::CodeGen::CodeGenFunction::CGAtomicOptionsRAII
class  clang::CodeGen::CodeGenFunction::FinallyInfo
 A class controlling the emission of a finally block. More...
class  clang::CodeGen::CodeGenFunction::RunCleanupsScope
 Enters a new scope for capturing cleanups, all of which will be executed once the scope is exited. More...
class  clang::CodeGen::CodeGenFunction::LexicalScope
class  clang::CodeGen::CodeGenFunction::OMPMapVars
 The class used to assign some variables some temporarily addresses. More...
class  clang::CodeGen::CodeGenFunction::OMPPrivateScope
 The scope used to remap some variables as private in the OpenMP loop body (or other captured region emitted without outlining), and to restore old vars back on exit. More...
class  clang::CodeGen::CodeGenFunction::OMPLocalDeclMapRAII
 Save/restore original map of previously emitted local vars in case when we need to duplicate emission of the same code several times in the same function for OpenMP code. More...
class  clang::CodeGen::CodeGenFunction::ConditionalEvaluation
 An object to manage conditionally-evaluated expressions. More...
class  clang::CodeGen::CodeGenFunction::StmtExprEvaluation
 An RAII object to record that we're evaluating a statement expression. More...
class  clang::CodeGen::CodeGenFunction::PeepholeProtection
 An object which temporarily prevents a value from being destroyed by aggressive peephole optimizations that assume that all uses of a value have been realized in the IR. More...
class  clang::CodeGen::CodeGenFunction::OpaqueValueMappingData
 A non-RAII class containing all the information about a bound opaque value. More...
class  clang::CodeGen::CodeGenFunction::OpaqueValueMapping
 An RAII object to set (and then clear) a mapping for an OpaqueValueExpr. More...
class  clang::CodeGen::CodeGenFunction::FieldConstructionScope
 A scope within which we are constructing the fields of an object which might use a CXXDefaultInitExpr. More...
class  clang::CodeGen::CodeGenFunction::CXXDefaultInitExprScope
 The scope of a CXXDefaultInitExpr. More...
struct  clang::CodeGen::CodeGenFunction::CXXDefaultArgExprScope
class  clang::CodeGen::CodeGenFunction::ArrayInitLoopExprScope
 The scope of an ArrayInitLoopExpr. More...
class  clang::CodeGen::CodeGenFunction::InlinedInheritingConstructorScope
struct  clang::CodeGen::CodeGenFunction::OMPBuilderCBHelpers
class  clang::CodeGen::CodeGenFunction::OMPBuilderCBHelpers::OMPAllocateCleanupTy
 Cleanup action for allocate support. More...
class  clang::CodeGen::CodeGenFunction::OMPBuilderCBHelpers::OutlinedRegionBodyRAII
 RAII for preserving necessary info during Outlined region body codegen. More...
class  clang::CodeGen::CodeGenFunction::OMPBuilderCBHelpers::InlinedRegionBodyRAII
 RAII for preserving necessary info during inlined region body codegen. More...
struct  clang::CodeGen::CodeGenFunction::VPtr
 Struct with all information about dynamic [sub]class needed to set vptr. More...
struct  clang::CodeGen::CodeGenFunction::AllocaTrackerRAII
struct  clang::CodeGen::CodeGenFunction::VlaSizePair
class  clang::CodeGen::CodeGenFunction::AutoVarEmission
class  clang::CodeGen::CodeGenFunction::ParamValue
class  clang::CodeGen::CodeGenFunction::OMPCancelStackRAII
 Controls insertion of cancellation exit blocks in worksharing constructs. More...
struct  clang::CodeGen::CodeGenFunction::OMPTargetDataInfo
class  clang::CodeGen::CodeGenFunction::ConstantEmission
struct  clang::CodeGen::CodeGenFunction::PrototypeWrapper
struct  clang::CodeGen::CodeGenFunction::FMVResolverOption

Namespaces

namespace  llvm
 Diagnostic wrappers for TextAPI types for error reporting.
namespace  clang
 The JSON file list parser is used to communicate input to InstallAPI.
namespace  clang::analyze_os_log
namespace  clang::CodeGen

Enumerations

enum  clang::CodeGen::TypeEvaluationKind { clang::CodeGen::TEK_Scalar , clang::CodeGen::TEK_Complex , clang::CodeGen::TEK_Aggregate }
 The kind of evaluation to perform on values of a particular type. More...

Functions

llvm::fp::ExceptionBehavior clang::ToConstrainedExceptMD (LangOptions::FPExceptionModeKind Kind)