/external/clang/lib/CodeGen/ |
H A D | CGOpenCLRuntime.h | 30 CodeGenModule &CGM; member in class:clang::CodeGen::CGOpenCLRuntime 33 CGOpenCLRuntime(CodeGenModule &CGM) : CGM(CGM) {} argument
|
H A D | CGCUDARuntime.h | 33 CodeGenModule &CGM; member in class:clang::CodeGen::CGCUDARuntime 36 CGCUDARuntime(CodeGenModule &CGM) : CGM(CGM) {} argument 49 CGCUDARuntime *CreateNVCUDARuntime(CodeGenModule &CGM);
|
H A D | CGDeclCXX.cpp | 37 CodeGenModule &CGM = CGF.CGM; local 39 CGM.getObjCRuntime().EmitObjCGlobalAssign(CGF, CGF.EmitScalarExpr(Init), 42 CGM.getObjCRuntime().EmitObjCWeakAssign(CGF, CGF.EmitScalarExpr(Init), 59 CodeGenModule &CGM = CGF.CGM; local 90 function = CGM.GetAddrOfCXXDestructor(dtor, Dtor_Complete); 95 function = CodeGenFunction(CGM).generateDestroyHelper(addr, type, 101 CGM.getCXXABI().registerGlobalDtor(CGF, function, argument); 109 if (!CGF.CGM 155 createAtExitStub(CodeGenModule &CGM, llvm::Constant *dtor, llvm::Constant *addr) argument 215 CreateGlobalInitOrDestructFunction(CodeGenModule &CGM, llvm::FunctionType *FTy, const Twine &Name) argument [all...] |
H A D | CGRTTI.cpp | 26 CodeGenModule &CGM; // Per-module state. member in class:__anon61::RTTIBuilder 65 RTTIBuilder(CodeGenModule &CGM) : CGM(CGM), argument 66 VMContext(CGM.getModule().getContext()) { } 117 CGM.getCXXABI().getMangleContext().mangleCXXRTTIName(Ty, Out); 128 CGM.CreateOrReplaceCXXRuntimeVariable(Name, Init->getType(), Linkage); 139 CGM.getCXXABI().getMangleContext().mangleCXXRTTI(Ty, Out); 144 llvm::GlobalVariable *GV = CGM.getModule().getNamedGlobal(Name); 148 GV = new llvm::GlobalVariable(CGM 247 ShouldUseExternalRTTIDescriptor(CodeGenModule &CGM, QualType Ty) argument 308 getTypeInfoLinkage(CodeGenModule &CGM, QualType Ty) argument 516 maybeUpdateRTTILinkage(CodeGenModule &CGM, llvm::GlobalVariable *GV, QualType Ty) argument [all...] |
H A D | CGExprConstant.cpp | 37 CodeGenModule &CGM; member in class:__anon46::ConstStructBuilder 45 static llvm::Constant *BuildStruct(CodeGenModule &CGM, CodeGenFunction *CGF, 47 static llvm::Constant *BuildStruct(CodeGenModule &CGM, CodeGenFunction *CGF, 51 ConstStructBuilder(CodeGenModule &CGM, CodeGenFunction *CGF) argument 52 : CGM(CGM), CGF(CGF), Packed(false), 82 CGM.getTargetData().getABITypeAlignment(C->getType())); 87 CGM.getTargetData().getTypeAllocSize(C->getType())); 96 CGM.getVTableContext().getVTableLayout(VTableClass).getAddressPoint(Base); 98 llvm::ConstantInt::get(CGM 577 BuildStruct(CodeGenModule &CGM, CodeGenFunction *CGF, InitListExpr *ILE) argument 588 BuildStruct(CodeGenModule &CGM, CodeGenFunction *CGF, const APValue &Val, QualType ValTy) argument 616 CodeGenModule &CGM; member in class:__anon46::ConstExprEmitter 1266 FillInNullDataMemberPointers(CodeGenModule &CGM, QualType T, SmallVectorImpl<llvm::Constant *> &Elements, uint64_t StartOffset) argument 1347 EmitNullConstant(CodeGenModule &CGM, const CXXRecordDecl *record, bool asCompleteObject) argument 1427 EmitNullConstantForBase(CodeGenModule &CGM, llvm::Type *baseType, const CXXRecordDecl *base) argument [all...] |
H A D | CGCUDANV.cpp | 41 CGNVCUDARuntime(CodeGenModule &CGM); 48 CGNVCUDARuntime::CGNVCUDARuntime(CodeGenModule &CGM) : CGCUDARuntime(CGM) { argument 49 CodeGen::CodeGenTypes &Types = CGM.getTypes(); 50 ASTContext &Ctx = CGM.getContext(); 65 return CGM.CreateRuntimeFunction(llvm::FunctionType::get(IntTy, 74 return CGM.CreateRuntimeFunction(llvm::FunctionType::get(IntTy, 124 CGCUDARuntime *CodeGen::CreateNVCUDARuntime(CodeGenModule &CGM) { argument 125 return new CGNVCUDARuntime(CGM);
|
H A D | CGCXXABI.cpp | 24 DiagnosticsEngine &Diags = CGF.CGM.getDiags(); 32 static llvm::Constant *GetBogusMemberPointer(CodeGenModule &CGM, argument 34 return llvm::Constant::getNullValue(CGM.getTypes().ConvertType(T)); 39 return CGM.getTypes().ConvertType(CGM.getContext().getPointerDiffType()); 52 llvm::FunctionType *FTy = CGM.getTypes().GetFunctionType( 53 CGM.getTypes().arrangeCXXMethodType(RD, FPT)); 70 return GetBogusMemberPointer(CGM, E->getType()); 75 return GetBogusMemberPointer(CGM, E->getType()); 98 return GetBogusMemberPointer(CGM, QualTyp [all...] |
H A D | CGVTables.cpp | 31 CodeGenVTables::CodeGenVTables(CodeGenModule &CGM) argument 32 : CGM(CGM), VTContext(CGM.getContext()) { } 41 const CXXMethodDecl *KeyFunction = CGM.getContext().getKeyFunction(RD); 55 if (CGM.getCodeGenOpts().OptimizationLevel && !CGM.getLangOpts().AppleKext) 120 static void setThunkVisibility(CodeGenModule &CGM, const CXXMethodDecl *MD, argument 122 CGM.setGlobalVisibility(Fn, MD); 124 if (!CGM [all...] |
H A D | CGObjCRuntime.cpp | 31 static uint64_t LookupFieldBitOffset(CodeGen::CodeGenModule &CGM, argument 45 RL = &CGM.getContext().getASTObjCImplementationLayout(ID); 47 RL = &CGM.getContext().getASTObjCInterfaceLayout(Container); 67 uint64_t CGObjCRuntime::ComputeIvarBaseOffset(CodeGen::CodeGenModule &CGM, argument 70 return LookupFieldBitOffset(CGM, OID, 0, Ivar) / 71 CGM.getContext().getCharWidth(); 74 uint64_t CGObjCRuntime::ComputeIvarBaseOffset(CodeGen::CodeGenModule &CGM, argument 77 return LookupFieldBitOffset(CGM, OID->getClassInterface(), OID, Ivar) / 78 CGM.getContext().getCharWidth(); 90 llvm::Type *LTy = CGF.CGM [all...] |
H A D | CGBlocks.cpp | 43 static llvm::Constant *buildGlobalBlock(CodeGenModule &CGM, 48 static llvm::Constant *buildCopyHelper(CodeGenModule &CGM, argument 50 return CodeGenFunction(CGM).GenerateCopyHelperFunction(blockInfo); 54 static llvm::Constant *buildDisposeHelper(CodeGenModule &CGM, argument 56 return CodeGenFunction(CGM).GenerateDestroyHelperFunction(blockInfo); 60 static llvm::Constant *buildBlockDescriptor(CodeGenModule &CGM, argument 62 ASTContext &C = CGM.getContext(); 64 llvm::Type *ulong = CGM.getTypes().ConvertType(C.UnsignedLongTy); 65 llvm::Type *i8p = CGM.getTypes().ConvertType(C.VoidPtrTy); 82 elements.push_back(buildCopyHelper(CGM, blockInf 217 tryCaptureAsConstant(CodeGenModule &CGM, CodeGenFunction *CGF, const VarDecl *var) argument 248 initializeForBlockHeader(CodeGenModule &CGM, CGBlockInfo &info, SmallVectorImpl<llvm::Type*> &elementTypes) argument 282 computeBlockInfo(CodeGenModule &CGM, CodeGenFunction *CGF, CGBlockInfo &info) argument 952 buildGlobalBlock(CodeGenModule &CGM, const CGBlockInfo &blockInfo, llvm::Constant *blockFn) argument 1641 buildByrefCopyHelper(CodeGenModule &CGM, llvm::StructType &byrefType, CodeGenModule::ByrefHelpers &info) argument 1702 buildByrefDisposeHelper(CodeGenModule &CGM, llvm::StructType &byrefType, CodeGenModule::ByrefHelpers &info) argument 1710 buildByrefHelpers(CodeGenModule &CGM, llvm::StructType &byrefTy, T &byrefInfo) argument 1999 configureBlocksRuntimeObject(CodeGenModule &CGM, llvm::Constant *C) argument [all...] |
H A D | CGVTT.cpp | 44 VTTBuilder Builder(CGM.getContext(), RD, /*GenerateDefinition=*/true); 46 llvm::Type *Int8PtrTy = CGM.Int8PtrTy, *Int64Ty = CGM.Int64Ty; 96 CGM.setTypeVisibility(VTT, RD, CodeGenModule::TVK_ForVTT); 104 CGM.getCXXABI().getMangleContext().mangleCXXVTT(RD, Out); 111 VTTBuilder Builder(CGM.getContext(), RD, /*GenerateDefinition=*/false); 114 llvm::ArrayType::get(CGM.Int8PtrTy, Builder.getVTTComponents().size()); 117 CGM.CreateOrReplaceCXXRuntimeVariable(Name, ArrayType, 149 VTTBuilder Builder(CGM.getContext(), RD, /*GenerateDefinition=*/false); 175 VTTBuilder Builder(CGM [all...] |
H A D | CGObjCMac.cpp | 66 return CGM.CreateRuntimeFunction(llvm::FunctionType::get(ObjectPtrTy, 79 return CGM.CreateRuntimeFunction(llvm::FunctionType::get(CGM.VoidTy, 92 return CGM.CreateRuntimeFunction(llvm::FunctionType::get(CGM.DoubleTy, 109 return CGM.CreateRuntimeFunction(llvm::FunctionType::get(resultType, 121 return CGM.CreateRuntimeFunction(llvm::FunctionType::get(ObjectPtrTy, 132 return CGM.CreateRuntimeFunction(llvm::FunctionType::get(ObjectPtrTy, 143 return CGM.CreateRuntimeFunction( 144 llvm::FunctionType::get(CGM 170 CodeGen::CodeGenModule &CGM; member in class:__anon56::ObjCCommonTypesHelper 1788 BuildGCBlockLayout(CodeGenModule &CGM, const CGBlockInfo &blockInfo) argument 6383 CreateMacObjCRuntime(CodeGen::CodeGenModule &CGM) argument [all...] |
H A D | CGBuiltin.cpp | 163 llvm::Value *Fn = CGF.CGM.CreateRuntimeFunction(FT, FnName); 178 if (E->EvaluateAsRValue(Result, CGM.getContext()) && 192 return RValue::get(CGM.EmitConstantExpr(E, E->getType(), 0)); 204 return RValue::get(Builder.CreateCall(CGM.getIntrinsic(inst), ArgValue)); 214 return RValue::get(Builder.CreateCall2(CGM.getIntrinsic(Intrinsic::vacopy), 268 Value *F = CGM.getIntrinsic(Intrinsic::cttz, ArgType); 285 Value *F = CGM.getIntrinsic(Intrinsic::ctlz, ArgType); 302 Value *F = CGM.getIntrinsic(Intrinsic::cttz, ArgType); 323 Value *F = CGM.getIntrinsic(Intrinsic::ctpop, ArgType); 339 Value *F = CGM [all...] |
H A D | CGCXXABI.h | 44 CodeGenModule &CGM; member in class:clang::CodeGen::CGCXXABI 47 CGCXXABI(CodeGenModule &CGM) argument 48 : CGM(CGM), MangleCtx(CGM.getContext().createMangleContext()) {} 72 ASTContext &getContext() const { return CGM.getContext(); } 294 CGCXXABI *CreateARMCXXABI(CodeGenModule &CGM); 295 CGCXXABI *CreateItaniumCXXABI(CodeGenModule &CGM); 296 CGCXXABI *CreateMicrosoftCXXABI(CodeGenModule &CGM);
|
H A D | CGDebugInfo.cpp | 41 CGDebugInfo::CGDebugInfo(CodeGenModule &CGM) argument 42 : CGM(CGM), DBuilder(CGM.getModule()), 56 CurLoc = CGM.getContext().getSourceManager().getExpansionLoc(Loc); 63 SourceManager &SM = CGM.getContext().getSourceManager(); 108 llvm::DIType Ty = getOrCreateType(CGM.getContext().getTypeDeclType(RDecl), 135 PrintingPolicy Policy(CGM.getLangOpts()); 200 PrintingPolicy Policy(CGM.getLangOpts()); 218 SourceManager &SM = CGM [all...] |
H A D | CGObjCRuntime.h | 66 CodeGen::CodeGenModule &CGM; member in class:clang::CodeGen::CGObjCRuntime 67 CGObjCRuntime(CodeGen::CodeGenModule &CGM) : CGM(CGM) {} argument 79 uint64_t ComputeIvarBaseOffset(CodeGen::CodeGenModule &CGM, 82 uint64_t ComputeIvarBaseOffset(CodeGen::CodeGenModule &CGM, 262 virtual llvm::Constant *BuildGCBlockLayout(CodeGen::CodeGenModule &CGM, 282 CGObjCRuntime *CreateGNUObjCRuntime(CodeGenModule &CGM); 283 CGObjCRuntime *CreateMacObjCRuntime(CodeGenModule &CGM);
|
H A D | ItaniumCXXABI.cpp | 46 llvm::Type *Ty = CGM.getTypes().ConvertType(T); 53 ItaniumCXXABI(CodeGen::CodeGenModule &CGM, bool IsARM = false) : argument 54 CGCXXABI(CGM), PtrDiffTy(0), IsARM(IsARM) { } 133 ARMCXXABI(CodeGen::CodeGenModule &CGM) : ItaniumCXXABI(CGM, /*ARM*/ true) {} argument 173 CodeGen::CGCXXABI *CodeGen::CreateItaniumCXXABI(CodeGenModule &CGM) { argument 174 return new ItaniumCXXABI(CGM); 177 CodeGen::CGCXXABI *CodeGen::CreateARMCXXABI(CodeGenModule &CGM) { argument 178 return new ARMCXXABI(CGM); 221 CGM 924 getGuardAcquireFn(CodeGenModule &CGM, llvm::PointerType *GuardPtrTy) argument 935 getGuardReleaseFn(CodeGenModule &CGM, llvm::PointerType *GuardPtrTy) argument 945 getGuardAbortFn(CodeGenModule &CGM, llvm::PointerType *GuardPtrTy) argument [all...] |
H A D | CGObjC.cpp | 49 CGM.getObjCRuntime().GenerateConstantString(E->getString()); 71 CGObjCRuntime &Runtime = CGM.getObjCRuntime(); 90 ASTContext &Context = CGM.getContext(); 155 llvm::ConstantInt::get(CGM.getTypes().ConvertType(ArgQT), NumElements); 165 CGObjCRuntime &Runtime = CGM.getObjCRuntime(); 194 return CGM.getObjCRuntime().GetSelector(Builder, E->getSelector()); 199 return CGM.getObjCRuntime().GenerateProtocolRef(Builder, E->getProtocol()); 284 CGM.getLangOpts().ObjCAutoRefCount && 288 CGObjCRuntime &Runtime = CGM.getObjCRuntime(); 422 CGF.CGM 527 getMaxAtomicAccessSize(CodeGenModule &CGM, llvm::Triple::ArchType arch) argument 584 PropertyImplStrategy(CodeGenModule &CGM, const ObjCPropertyImplDecl *propImpl) argument 1041 UseOptimizedSetter(CodeGenModule &CGM) argument 1700 createARCRuntimeFunction(CodeGenModule &CGM, llvm::FunctionType *type, StringRef fnName) argument [all...] |
H A D | CodeGenFunction.cpp | 32 : CodeGenTypeCache(cgm), CGM(cgm), 33 Target(CGM.getContext().getTargetInfo()), 46 CGM.getCXXABI().getMangleContext().startNewFunction(); 59 return CGM.getTypes().ConvertTypeForMem(T); 63 return CGM.getTypes().ConvertType(T); 212 if (CGM.getCodeGenOpts().EmitDeclMetadata) 219 if (!CGM.getCodeGenOpts().InstrumentFunctions) 236 llvm::Constant *F = CGM.CreateRuntimeFunction(FunctionTy, Fn); 238 CGM.getIntrinsic(llvm::Intrinsic::returnaddress), 250 llvm::Constant *MCountFn = CGM 259 GenOpenCLArgMetadata(const FunctionDecl *FD, llvm::Function *Fn, CodeGenModule &CGM,llvm::LLVMContext &Context, llvm::SmallVector <llvm::Value*, 5> &kernelMDArgs) argument [all...] |
H A D | CGException.cpp | 31 return CGF.CGM.CreateRuntimeFunction(FTy, "__cxa_allocate_exception"); 40 return CGF.CGM.CreateRuntimeFunction(FTy, "__cxa_free_exception"); 51 return CGF.CGM.CreateRuntimeFunction(FTy, "__cxa_throw"); 60 return CGF.CGM.CreateRuntimeFunction(FTy, "__cxa_rethrow"); 69 return CGF.CGM.CreateRuntimeFunction(FTy, "__cxa_get_exception_ptr"); 78 return CGF.CGM.CreateRuntimeFunction(FTy, "__cxa_begin_catch"); 87 return CGF.CGM.CreateRuntimeFunction(FTy, "__cxa_end_catch"); 96 return CGF.CGM.CreateRuntimeFunction(FTy, "__cxa_call_unexpected"); 103 if (CGM.getLangOpts().SjLjExceptions) 104 return CGM 242 getPersonalityFn(CodeGenModule &CGM, const EHPersonality &Personality) argument 250 getOpaquePersonalityFn(CodeGenModule &CGM, const EHPersonality &Personality) argument [all...] |
H A D | MicrosoftCXXABI.cpp | 29 MicrosoftCXXABI(CodeGenModule &CGM) : CGCXXABI(CGM) {} argument 176 CGCXXABI *clang::CodeGen::CreateMicrosoftCXXABI(CodeGenModule &CGM) { argument 177 return new MicrosoftCXXABI(CGM);
|
H A D | CGObjCGNU.cpp | 50 CodeGenModule *CGM; member in class:__anon55::LazyRuntimeFunction 58 LazyRuntimeFunction() : CGM(0), FunctionName(0), Function(0) {} 65 CGM =Mod; 87 cast<llvm::Constant>(CGM->CreateRuntimeFunction(FTy, FunctionName)); 175 llvm::Constant *ConstStr = CGM.GetAddrOfConstantCString(Str, Name.c_str()); 513 virtual llvm::Constant *BuildGCBlockLayout(CodeGenModule &CGM, argument 562 MsgLookupFn.init(&CGM, "objc_msg_lookup", IMPTy, IdTy, SelectorTy, NULL); 564 MsgLookupSuperFn.init(&CGM, "objc_msg_lookup_super", IMPTy, 638 SlotLookupFn.init(&CGM, "objc_msg_lookup_sender", SlotTy, PtrToIdTy, 641 SlotLookupSuperFn.init(&CGM, "objc_slot_lookup_supe 2712 CreateGNUObjCRuntime(CodeGenModule &CGM) argument [all...] |
H A D | CGVTables.h | 32 CodeGenModule &CGM; member in class:clang::CodeGen::CodeGenVTables 76 CodeGenVTables(CodeGenModule &CGM);
|
H A D | CGExprCXX.cpp | 59 return EmitCall(CGM.getTypes().arrangeCXXMethodCall(Args, FPT, required), 177 if (DI && CGM.getCodeGenOpts().DebugInfo == CodeGenOptions::LimitedDebugInfo 188 llvm::Value *Callee = CGM.GetAddrOfFunction(MD); 262 FInfo = &CGM.getTypes().arrangeCXXDestructor(cast<CXXDestructorDecl>(MD), 265 FInfo = &CGM.getTypes().arrangeCXXConstructorDeclaration( 269 FInfo = &CGM.getTypes().arrangeCXXMethodDeclaration(MD); 271 llvm::Type *Ty = CGM.getTypes().GetFunctionType(*FInfo); 291 Callee = CGM.GetAddrOfFunction(GlobalDecl(Dtor, Dtor_Complete), Ty); 295 Callee = CGM.GetAddrOfFunction(GlobalDecl(DDtor, Dtor_Complete), Ty); 300 Callee = CGM [all...] |
H A D | CGCXX.cpp | 307 uint64_t VTableIndex = CGM.getVTableContext().getMethodVTableIndex(MD); 332 VTable = CGM.getVTables().GetAddrOfVTable(RD); 337 uint64_t VTableIndex = CGM.getVTableContext().getMethodVTableIndex(MD); 339 CGM.getVTableContext().getVTableLayout(RD) 362 CGM.getTypes().arrangeCXXDestructor(cast<CXXDestructorDecl>(MD), 364 llvm::Type *Ty = CGM.getTypes().GetFunctionType(FInfo); 366 llvm::Value *VTable = CGM.getVTables().GetAddrOfVTable(RD); 371 CGM.getVTableContext().getMethodVTableIndex(GlobalDecl(DD, Type)); 373 CGM.getVTableContext().getVTableLayout(RD) 388 CGM [all...] |