clang API Documentation
#include "CodeGenFunction.h"
#include "CGCXXABI.h"
#include "CodeGenModule.h"
#include "clang/AST/CXXInheritance.h"
#include "clang/AST/RecordLayout.h"
#include "clang/CodeGen/CGFunctionInfo.h"
#include "clang/Frontend/CodeGenOptions.h"
#include "llvm/ADT/DenseSet.h"
#include "llvm/ADT/SetVector.h"
#include "llvm/Support/Compiler.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 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 | shouldEmitVTableAtEndOfTranslationUnit (CodeGenModule &CGM, const CXXRecordDecl *RD) |
static RValue PerformReturnAdjustment | ( | CodeGenFunction & | CGF, |
QualType | ResultType, | ||
RValue | RV, | ||
const ThunkInfo & | Thunk | ||
) | [static] |
Definition at line 69 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::CodeGen::CodeGenModule::getCXXABI(), 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 void setThunkVisibility | ( | CodeGenModule & | CGM, |
const CXXMethodDecl * | MD, | ||
const ThunkInfo & | Thunk, | ||
llvm::Function * | Fn | ||
) | [static] |
Definition at line 54 of file CGVTables.cpp.
References clang::CodeGen::CodeGenModule::setGlobalVisibility().
Referenced by clang::CodeGen::CodeGenFunction::GenerateThunk().
static bool shouldEmitVTableAtEndOfTranslationUnit | ( | CodeGenModule & | CGM, |
const CXXRecordDecl * | RD | ||
) | [static] |
Given that we're currently at the end of the translation unit, and we've emitted a reference to the v-table for this class, should we define that v-table?
Definition at line 820 of file CGVTables.cpp.
References clang::CodeGen::CodeGenModule::getVTables(), and clang::CodeGen::CodeGenVTables::isVTableExternal().
static bool similar | ( | const ABIArgInfo & | infoL, |
CanQualType | typeL, | ||
const ABIArgInfo & | infoR, | ||
CanQualType | typeR | ||
) | [static] |
Definition at line 60 of file CGVTables.cpp.
References clang::CodeGen::ABIArgInfo::getKind().
Referenced by clang::CodeGen::CodeGenFunction::EmitCallAndReturnForThunk().