clang 10.0.0git

Classes | Namespaces | Macros | Enumerations
CodeGenFunction.h File Reference
`#include "CGBuilder.h"`
`#include "CGDebugInfo.h"`
`#include "CGLoopInfo.h"`
`#include "CGValue.h"`
`#include "CodeGenModule.h"`
`#include "CodeGenPGO.h"`
`#include "EHScopeStack.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/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/IR/ValueHandle.h"`
`#include "llvm/Support/Debug.h"`
`#include "llvm/Transforms/Utils/SanitizerStats.h"`
Include dependency graph for CodeGenFunction.h:
This graph shows which files directly or indirectly include this file:

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::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
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...
class | clang::CodeGen::CodeGenFunction::CallLifetimeEnd
struct | clang::CodeGen::CodeGenFunction::LifetimeExtendedCleanupHeader
| Header for data within LifetimeExtendedCleanupStack. More...
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::VPtr
| Struct with all information about dynamic [sub]class needed to set vptr. More...
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::MultiVersionResolverOption
struct | clang::CodeGen::CodeGenFunction::MultiVersionResolverOption::Conds

## Namespaces
| llvm
| Specialize PointerLikeTypeTraits to allow LazyGenerationalUpdatePtr to be placed into a PointerUnion.
| clang
| Dataflow Directional Tag Classes.
| clang::analyze_os_log
| clang::CodeGen

## Macros
#define | LIST_SANITIZER_CHECKS
#define | SANITIZER_CHECK(Enum, Name, Version) Enum,

## 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...
enum | clang::CodeGen::SanitizerHandler { clang::CodeGen::LIST_SANITIZER_CHECKS }

## Macro Definition Documentation

## ◆ LIST_SANITIZER_CHECKS

#define LIST_SANITIZER_CHECKS

Value:
SANITIZER_CHECK(AddOverflow, add_overflow, 0) \
SANITIZER_CHECK(BuiltinUnreachable, builtin_unreachable, 0) \
SANITIZER_CHECK(CFICheckFail, cfi_check_fail, 0) \
SANITIZER_CHECK(DivremOverflow, divrem_overflow, 0) \
SANITIZER_CHECK(DynamicTypeCacheMiss, dynamic_type_cache_miss, 0) \
SANITIZER_CHECK(FloatCastOverflow, float_cast_overflow, 0) \
SANITIZER_CHECK(FunctionTypeMismatch, function_type_mismatch, 1) \
SANITIZER_CHECK(ImplicitConversion, implicit_conversion, 0) \
SANITIZER_CHECK(InvalidBuiltin, invalid_builtin, 0) \
SANITIZER_CHECK(LoadInvalidValue, load_invalid_value, 0) \
SANITIZER_CHECK(MissingReturn, missing_return, 0) \
SANITIZER_CHECK(MulOverflow, mul_overflow, 0) \
SANITIZER_CHECK(NegateOverflow, negate_overflow, 0) \
SANITIZER_CHECK(NullabilityArg, nullability_arg, 0) \
SANITIZER_CHECK(NullabilityReturn, nullability_return, 1) \
SANITIZER_CHECK(NonnullArg, nonnull_arg, 0) \
SANITIZER_CHECK(NonnullReturn, nonnull_return, 1) \
SANITIZER_CHECK(OutOfBounds, out_of_bounds, 0) \
SANITIZER_CHECK(PointerOverflow, pointer_overflow, 0) \
SANITIZER_CHECK(ShiftOutOfBounds, shift_out_of_bounds, 0) \
SANITIZER_CHECK(SubOverflow, sub_overflow, 0) \
SANITIZER_CHECK(TypeMismatch, type_mismatch, 1) \
SANITIZER_CHECK(AlignmentAssumption, alignment_assumption, 0) \
SANITIZER_CHECK(VLABoundNotPositive, vla_bound_not_positive, 0)
SANITIZER_CHECK
#define SANITIZER_CHECK(Enum, Name, Version)
Definition: CodeGenFunction.h:138

Definition at line 111 of file CodeGenFunction.h.

## ◆ SANITIZER_CHECK

#define SANITIZER_CHECK | ( |  | Enum,
|  |  | Name,
|  |  | Version
| ) |  | Enum,

Definition at line 138 of file CodeGenFunction.h.