|
clang
5.0.0
|
#include "CGCXXABI.h"#include "CodeGenFunction.h"#include "CodeGenModule.h"#include "clang/CodeGen/ConstantInitBuilder.h"#include "clang/AST/CXXInheritance.h"#include "clang/AST/RecordLayout.h"#include "clang/CodeGen/CGFunctionInfo.h"#include "clang/Frontend/CodeGenOptions.h"#include "llvm/Support/Format.h"#include "llvm/Transforms/Utils/Cloning.h"#include <algorithm>#include <cstdio>Go to the source code of this file.
Functions | |
| static void | setThunkVisibility (CodeGenModule &CGM, const CXXMethodDecl *MD, const ThunkInfo &Thunk, llvm::Function *Fn) |
| static void | setThunkProperties (CodeGenModule &CGM, const ThunkInfo &Thunk, llvm::Function *ThunkFn, bool ForVTable, GlobalDecl GD) |
| static bool | similar (const ABIArgInfo &infoL, CanQualType typeL, const ABIArgInfo &infoR, CanQualType typeR) |
| static RValue | PerformReturnAdjustment (CodeGenFunction &CGF, QualType ResultType, RValue RV, const ThunkInfo &Thunk) |
| static bool | shouldEmitAvailableExternallyVTable (const CodeGenModule &CGM, const CXXRecordDecl *RD) |
| static bool | shouldEmitVTableAtEndOfTranslationUnit (CodeGenModule &CGM, const CXXRecordDecl *RD) |
| Given that we're currently at the end of the translation unit, and we've emitted a reference to the vtable for this class, should we define that vtable? More... | |
|
static |
Definition at line 81 of file CGVTables.cpp.
References clang::CodeGen::CodeGenFunction::Builder, clang::CodeGen::CodeGenFunction::CGM, clang::CodeGen::CodeGenFunction::createBasicBlock(), clang::CodeGen::CodeGenFunction::EmitBlock(), clang::CodeGen::RValue::get(), clang::Type::getAsCXXRecordDecl(), clang::CodeGen::CodeGenModule::getClassPointerAlignment(), clang::CodeGen::CodeGenModule::getCXXABI(), clang::Type::getPointeeType(), clang::CodeGen::RValue::getScalarVal(), clang::Type::isReferenceType(), clang::CodeGen::CGCXXABI::performReturnAdjustment(), and clang::ThunkInfo::Return.
Referenced by clang::CodeGen::CodeGenFunction::EmitCallAndReturnForThunk(), and clang::CodeGen::CodeGenFunction::GenerateVarArgsThunk().
|
static |
Definition at line 56 of file CGVTables.cpp.
References clang::CodeGen::CodeGenModule::getCXXABI(), clang::GlobalDecl::getDecl(), clang::CodeGen::CodeGenModule::getModule(), clang::ReturnAdjustment::isEmpty(), clang::ThunkInfo::Return, clang::CodeGen::CodeGenModule::setFunctionLinkage(), clang::CodeGen::CGCXXABI::setThunkLinkage(), setThunkVisibility(), and clang::CodeGen::CodeGenModule::supportsCOMDAT().
|
static |
Definition at line 51 of file CGVTables.cpp.
References clang::CodeGen::CodeGenModule::setGlobalVisibility().
Referenced by setThunkProperties().
|
static |
Definition at line 720 of file CGVTables.cpp.
References clang::CodeGen::CGCXXABI::canSpeculativelyEmitVTable(), clang::CodeGen::CodeGenModule::getCodeGenOpts(), and clang::CodeGen::CodeGenModule::getCXXABI().
Referenced by clang::CodeGen::CodeGenModule::getVTableLinkage(), and shouldEmitVTableAtEndOfTranslationUnit().
|
static |
Given that we're currently at the end of the translation unit, and we've emitted a reference to the vtable for this class, should we define that vtable?
Definition at line 881 of file CGVTables.cpp.
References clang::CodeGen::CodeGenModule::getVTables(), clang::CodeGen::CodeGenVTables::isVTableExternal(), and shouldEmitAvailableExternallyVTable().
|
static |
Definition at line 72 of file CGVTables.cpp.
References clang::CodeGen::ABIArgInfo::getKind().
Referenced by clang::CodeGen::CodeGenFunction::EmitCallAndReturnForThunk().
1.8.6