clang API Documentation

CGVtable.cpp File Reference

#include "CodeGenModule.h"
#include "CodeGenFunction.h"
#include "clang/AST/CXXInheritance.h"
#include "clang/AST/RecordLayout.h"
#include "llvm/ADT/DenseSet.h"
#include "llvm/ADT/SetVector.h"
#include "llvm/Support/Compiler.h"
#include "llvm/Support/Format.h"
#include <algorithm>
#include <cstdio>

Include dependency graph for CGVtable.cpp:

Go to the source code of this file.

Defines

#define DUMP_OVERRIDERS   0

Functions

static llvm::Value * PerformTypeAdjustment (CodeGenFunction &CGF, llvm::Value *Ptr, int64_t NonVirtualAdjustment, int64_t VirtualAdjustment)
static llvm::GlobalVariable * GetGlobalVariable (llvm::Module &Module, llvm::StringRef Name, const llvm::Type *Ty, llvm::GlobalValue::LinkageTypes Linkage)


Define Documentation

#define DUMP_OVERRIDERS   0

Definition at line 198 of file CGVtable.cpp.


Function Documentation

static llvm::GlobalVariable* GetGlobalVariable ( llvm::Module &  Module,
llvm::StringRef  Name,
const llvm::Type *  Ty,
llvm::GlobalValue::LinkageTypes  Linkage 
) [static]

GetGlobalVariable - Will return a global variable of the given type. If a variable with a different type already exists then a new variable with the right type will be created. FIXME: We should move this to CodeGenModule and rename it to something better and then use it in CGVTT and CGRTTI.

Definition at line 2984 of file CGVtable.cpp.

Referenced by clang::CodeGen::CodeGenVTables::GenerateConstructionVTable(), and clang::CodeGen::CodeGenVTables::GetAddrOfVTable().

static llvm::Value* PerformTypeAdjustment ( CodeGenFunction CGF,
llvm::Value *  Ptr,
int64_t  NonVirtualAdjustment,
int64_t  VirtualAdjustment 
) [static]