/external/clang/lib/CodeGen/ |
CGVTT.cpp | 10 // This contains code dealing with C++ code generation of VTTs (vtable tables). 23 const VTTVTable &VTable, 26 if (VTable.getBase() == MostDerivedClass) { 27 assert(VTable.getBaseOffset().isZero() && 28 "Most derived class vtable must have a zero offset!"); 29 // This is a regular vtable. 34 VTable.getBaseSubobject(), 35 VTable.isVirtual(), 63 llvm::Constant *VTable = VTables[i->VTableIndex]; 66 // Just get the address point for the regular vtable [all...] |
CGCXX.cpp | 299 llvm::Value *VTable = CGF.GetVTablePtr(This, Ty); 301 CGF.Builder.CreateConstInBoundsGEP1_64(VTable, VTableIndex, "vfn"); 316 /// into the vtable. 321 llvm::Value *VTable = 0; 334 VTable = CGM.getVTables().GetAddrOfVTable(RD); 336 VTable = Builder.CreateBitCast(VTable, Ty); 337 assert(VTable && "BuildVirtualCall = kext vtbl pointer is null"); 345 Builder.CreateConstInBoundsGEP1_64(VTable, VTableIndex, "vfnkxt"); 349 /// BuildVirtualCall - This routine makes indirect vtable call fo [all...] |
CGVTables.cpp | 83 // Load the adjustment offset from the vtable. 549 llvm_unreachable("Unexpected vtable component kind"); 617 llvm::GlobalVariable *&VTable = VTables[RD]; 618 if (VTable) 619 return VTable; 634 VTable = 637 VTable->setUnnamedAddr(true); 638 return VTable; 642 CodeGenVTables::EmitVTableDefinition(llvm::GlobalVariable *VTable, 654 VTable->setInitializer(Init) [all...] |
CGVTables.h | 39 /// VTableAddressPointsMapTy - Address points for a single vtable. 65 /// CreateVTableInitializer - Create a vtable initializer for the given record 67 /// \param Components - The vtable components; this is really an array of 98 /// GetAddrOfVTable - Get the address of the vtable for the given record decl. 101 /// EmitVTableDefinition - Emit the definition of the given vtable. 102 void EmitVTableDefinition(llvm::GlobalVariable *VTable, 106 /// GenerateConstructionVTable - Generate a construction vtable for the given 118 /// EmitVTTDefinition - Emit the definition of the given vtable. 128 /// vtable, the RTTI data structure (if RTTI is enabled) and the VTT
|
ItaniumCXXABI.cpp | 237 /// to a vtable pointer from which the virtual offset is applied. 292 // vtable of the correct base subobject. The "function pointer" is an 293 // offset within the vtable (+1 for the virtual flag on non-ARM). 296 // Cast the adjusted this to a pointer to vtable pointer and load. 298 llvm::Value *VTable = Builder.CreateBitCast(This, VTableTy->getPointerTo()); 299 VTable = Builder.CreateLoad(VTable, "memptr.vtable"); 304 VTable = Builder.CreateGEP(VTable, VTableOffset) 719 llvm::Value *vtable = CGF.GetVTablePtr(ptr, CGF.IntPtrTy->getPointerTo()); local [all...] |
CGRTTI.cpp | 40 /// BuildVTablePointer - Build the vtable pointer for the given type. 493 llvm::Constant *VTable = 499 // The vtable address point is 2. 501 VTable = llvm::ConstantExpr::getInBoundsGetElementPtr(VTable, Two); 502 VTable = llvm::ConstantExpr::getBitCast(VTable, CGM.Int8PtrTy); 504 Fields.push_back(VTable); 524 // forces the vtable to be generated, we need to change the linkage of the 591 // Add the vtable pointer [all...] |
CGExprConstant.cpp | 56 void AppendVTablePointer(BaseSubobject Base, llvm::Constant *VTable, 75 llvm::Constant *VTable, const CXXRecordDecl *VTableClass, 92 llvm::Constant *VTable, 94 // Find the appropriate vtable within the vtable group. 102 llvm::ConstantExpr::getInBoundsGetElementPtr(VTable, Indices); 104 // Add the vtable at the start of the object. 446 bool IsPrimaryBase, llvm::Constant *VTable, 452 // Add a vtable pointer, if we need one and it hasn't already been added. 454 AppendVTablePointer(BaseSubobject(CD, Offset), VTable, VTableClass) [all...] |
CGClass.cpp | 186 // Skip over the offset (and the vtable load) if we're supposed to 357 /// way which requires the vtable to be properly set. 369 // external code might potentially access the vtable. [all...] |
CGExprCXX.cpp | 96 // When building with -fapple-kext, all calls must go through the vtable since [all...] |
CodeGenFunction.h | 197 // Anchor the construction vtable. [all...] |
/external/sqlite/dist/orig/ |
sqlite3.c | [all...] |
/external/sqlite/dist/ |
sqlite3.c | [all...] |