Home | History | Annotate | Download | only in CodeGen

Lines Matching full:llvm

1 //===--- CGVTT.cpp - Emit LLVM Code for C++ VTTs --------------------------===//
3 // The LLVM Compiler Infrastructure
21 static llvm::Constant *
25 llvm::GlobalVariable::LinkageTypes Linkage,
26 llvm::DenseMap<BaseSubobject, uint64_t> &AddressPoints) {
42 CodeGenVTables::EmitVTTDefinition(llvm::GlobalVariable *VTT,
43 llvm::GlobalVariable::LinkageTypes Linkage,
47 llvm::Type *Int8PtrTy = CGM.Int8PtrTy, *Int64Ty = CGM.Int64Ty;
48 llvm::ArrayType *ArrayType =
49 llvm::ArrayType::get(Int8PtrTy, Builder.getVTTComponents().size());
51 SmallVector<llvm::Constant *, 8> VTables;
60 SmallVector<llvm::Constant *, 8> VTTComponents;
64 llvm::Constant *VTable = VTables[i->VTableIndex];
77 llvm::Value *Idxs[] = {
78 llvm::ConstantInt::get(Int64Ty, 0),
79 llvm::ConstantInt::get(Int64Ty, AddressPoint)
82 llvm::Constant *Init =
83 llvm::ConstantExpr::getInBoundsGetElementPtr(VTable, Idxs);
85 Init = llvm::ConstantExpr::getBitCast(Init, Int8PtrTy);
90 llvm::Constant *Init = llvm::ConstantArray::get(ArrayType, VTTComponents);
101 llvm::GlobalVariable *CodeGenVTables::GetAddrOfVTT(const CXXRecordDecl *RD) {
105 llvm::raw_svector_ostream Out(OutName);
116 llvm::ArrayType *ArrayType =
117 llvm::ArrayType::get(CGM.Int8PtrTy, Builder.getVTTComponents().size());
119 llvm::GlobalVariable *GV =
121 llvm::GlobalValue::ExternalLinkage);
136 for (llvm::DenseMap<BaseSubobject, uint64_t>::const_iterator I =
163 for (llvm::DenseMap<BaseSubobject, uint64_t>::const_iterator I =