/external/clang/lib/CodeGen/ |
H A D | CGOpenCLRuntime.cpp | 25 void CGOpenCLRuntime::EmitWorkGroupLocalVarDecl(CodeGenFunction &CGF, argument 27 return CGF.EmitStaticVarDecl(D, llvm::GlobalValue::InternalLinkage);
|
H A D | CGCUDARuntime.cpp | 27 RValue CGCUDARuntime::EmitCUDAKernelCallExpr(CodeGenFunction &CGF, argument 30 llvm::BasicBlock *ConfigOKBlock = CGF.createBasicBlock("kcall.configok"); 31 llvm::BasicBlock *ContBlock = CGF.createBasicBlock("kcall.end"); 33 CodeGenFunction::ConditionalEvaluation eval(CGF); 34 CGF.EmitBranchOnBoolExpr(E->getConfig(), ContBlock, ConfigOKBlock); 36 eval.begin(CGF); 37 CGF.EmitBlock(ConfigOKBlock); 46 llvm::Value *Callee = CGF.EmitScalarExpr(E->getCallee()); 47 CGF.EmitCall(E->getCallee()->getType(), Callee, ReturnValue, 49 CGF [all...] |
H A D | CGCXXABI.h | 51 ImplicitParamDecl *&getThisDecl(CodeGenFunction &CGF) { argument 52 return CGF.CXXABIThisDecl; 54 llvm::Value *&getThisValue(CodeGenFunction &CGF) { argument 55 return CGF.CXXABIThisValue; 58 ImplicitParamDecl *&getVTTDecl(CodeGenFunction &CGF) { argument 59 return CGF.CXXVTTDecl; 61 llvm::Value *&getVTTValue(CodeGenFunction &CGF) { argument 62 return CGF.CXXVTTValue; 66 void BuildThisParam(CodeGenFunction &CGF, FunctionArgList &Params); 70 void EmitThisParam(CodeGenFunction &CGF); [all...] |
H A D | CGCUDANV.cpp | 43 void EmitDeviceStubBody(CodeGenFunction &CGF, FunctionArgList &Args); 79 void CGNVCUDARuntime::EmitDeviceStubBody(CodeGenFunction &CGF, argument 86 llvm::Value *V = CGF.GetAddrOfLocalVar(*I); 92 CGF.getLLVMContext(), ArgTypes); 94 llvm::BasicBlock *EndBlock = CGF.createBasicBlock("setup.end"); 100 llvm::BasicBlock *NextBlock = CGF.createBasicBlock("setup.next"); 101 Args[0] = CGF.Builder.CreatePointerCast(ArgValues[I], VoidPtrTy); 102 Args[1] = CGF.Builder.CreateIntCast( 105 Args[2] = CGF.Builder.CreateIntCast( 108 llvm::CallSite CS = CGF [all...] |
H A D | TargetInfo.h | 88 virtual bool initDwarfEHRegSizeTable(CodeGen::CodeGenFunction &CGF, argument 98 virtual llvm::Value *decodeReturnAddress(CodeGen::CodeGenFunction &CGF, argument 108 virtual llvm::Value *encodeReturnAddress(CodeGen::CodeGenFunction &CGF, argument 113 virtual llvm::Type* adjustInlineAsmType(CodeGen::CodeGenFunction &CGF, argument
|
H A D | MicrosoftCXXABI.cpp | 49 void BuildInstanceFunctionParams(CodeGenFunction &CGF, argument 52 BuildThisParam(CGF, Params); 56 void EmitInstanceFunctionProlog(CodeGenFunction &CGF) { argument 57 EmitThisParam(CGF); 61 void EmitGuardedInit(CodeGenFunction &CGF, const VarDecl &D, 94 llvm::Value *InitializeArrayCookie(CodeGenFunction &CGF, 99 llvm::Value *readArrayCookieImpl(CodeGenFunction &CGF, 127 llvm::Value *MicrosoftCXXABI::readArrayCookieImpl(CodeGenFunction &CGF, argument 132 CGF.Builder.CreateBitCast(allocPtr, CGF 136 InitializeArrayCookie(CodeGenFunction &CGF, llvm::Value *newPtr, llvm::Value *numElements, const CXXNewExpr *expr, QualType elementType) argument 161 EmitGuardedInit(CodeGenFunction &CGF, const VarDecl &D, llvm::GlobalVariable *DeclPtr, bool PerformInit) argument [all...] |
H A D | CGCXX.cpp | 293 static llvm::Value *BuildVirtualCall(CodeGenFunction &CGF, uint64_t VTableIndex, argument 297 llvm::Value *VTable = CGF.GetVTablePtr(This, Ty); 299 CGF.Builder.CreateConstInBoundsGEP1_64(VTable, VTableIndex, "vfn"); 300 return CGF.Builder.CreateLoad(VFuncPtr);
|
H A D | CGDeclCXX.cpp | 23 static void EmitDeclInit(CodeGenFunction &CGF, const VarDecl &D, argument 29 ASTContext &Context = CGF.getContext(); 33 LValue lv = CGF.MakeAddrLValue(DeclPtr, type, alignment); 36 if (!CGF.hasAggregateLLVMType(type)) { 37 CodeGenModule &CGM = CGF.CGM; 39 CGM.getObjCRuntime().EmitObjCGlobalAssign(CGF, CGF.EmitScalarExpr(Init), 42 CGM.getObjCRuntime().EmitObjCWeakAssign(CGF, CGF.EmitScalarExpr(Init), 45 CGF 57 EmitDeclDestroy(CodeGenFunction &CGF, const VarDecl &D, llvm::Constant *addr) argument 106 EmitDeclInvariant(CodeGenFunction &CGF, const VarDecl &D, llvm::Constant *Addr) argument [all...] |
H A D | CGCXXABI.cpp | 22 static void ErrorUnsupportedABI(CodeGenFunction &CGF, argument 24 DiagnosticsEngine &Diags = CGF.CGM.getDiags(); 27 Diags.Report(CGF.getContext().getFullLoc(CGF.CurCodeDecl->getLocation()), 42 llvm::Value *CGCXXABI::EmitLoadOfMemberFunctionPointer(CodeGenFunction &CGF, argument 46 ErrorUnsupportedABI(CGF, "calls through member pointers"); 57 llvm::Value *CGCXXABI::EmitMemberDataPointerAddress(CodeGenFunction &CGF, argument 61 ErrorUnsupportedABI(CGF, "loads of member pointers"); 62 llvm::Type *Ty = CGF.ConvertType(MPT->getPointeeType())->getPointerTo(); 66 llvm::Value *CGCXXABI::EmitMemberPointerConversion(CodeGenFunction &CGF, argument 79 EmitMemberPointerComparison(CodeGenFunction &CGF, llvm::Value *L, llvm::Value *R, const MemberPointerType *MPT, bool Inequality) argument 89 EmitMemberPointerIsNotNull(CodeGenFunction &CGF, llvm::Value *MemPtr, const MemberPointerType *MPT) argument 121 BuildThisParam(CodeGenFunction &CGF, FunctionArgList ¶ms) argument 134 EmitThisParam(CodeGenFunction &CGF) argument 142 EmitReturnFromThunk(CodeGenFunction &CGF, RValue RV, QualType ResultType) argument 158 InitializeArrayCookie(CodeGenFunction &CGF, llvm::Value *NewPtr, llvm::Value *NumElements, const CXXNewExpr *expr, QualType ElementType) argument 187 ReadArrayCookie(CodeGenFunction &CGF, llvm::Value *ptr, const CXXDeleteExpr *expr, QualType eltTy, llvm::Value *&numElements, llvm::Value *&allocPtr, CharUnits &cookieSize) argument 210 readArrayCookieImpl(CodeGenFunction &CGF, llvm::Value *ptr, CharUnits cookieSize) argument 217 EmitGuardedInit(CodeGenFunction &CGF, const VarDecl &D, llvm::GlobalVariable *GV, bool PerformInit) argument 224 registerGlobalDtor(CodeGenFunction &CGF, llvm::Constant *dtor, llvm::Constant *addr) argument [all...] |
H A D | CGObjCRuntime.cpp | 81 LValue CGObjCRuntime::EmitValueForIvarAtOffset(CodeGen::CodeGenFunction &CGF, argument 88 llvm::Type *I8Ptr = CGF.Int8PtrTy; 90 llvm::Type *LTy = CGF.CGM.getTypes().ConvertTypeForMem(IvarTy); 91 llvm::Value *V = CGF.Builder.CreateBitCast(BaseValue, I8Ptr); 92 V = CGF.Builder.CreateInBoundsGEP(V, Offset, "add.ptr"); 93 V = CGF.Builder.CreateBitCast(V, llvm::PointerType::getUnqual(LTy)); 96 LValue LV = CGF.MakeNaturalAlignAddrLValue(V, IvarTy); 116 CGF.CGM.getContext().getASTObjCInterfaceLayout(OID); 117 uint64_t TypeSizeInBits = CGF.CGM.getContext().toBits(RL.getSize()); 118 uint64_t FieldBitOffset = LookupFieldBitOffset(CGF 155 Emit(CodeGenFunction &CGF, Flags flags) argument 167 EmitTryCatchStmt(CodeGenFunction &CGF, const ObjCAtTryStmt &S, llvm::Constant *beginCatchFn, llvm::Constant *endCatchFn, llvm::Constant *exceptionRethrowFn) argument 300 Emit(CodeGenFunction &CGF, Flags flags) argument 306 EmitAtSynchronizedStmt(CodeGenFunction &CGF, const ObjCAtSynchronizedStmt &S, llvm::Function *syncEnterFn, llvm::Function *syncExitFn) argument [all...] |
H A D | CGVTables.cpp | 79 static llvm::Value *PerformTypeAdjustment(CodeGenFunction &CGF, argument 86 llvm::Type *Int8PtrTy = CGF.Int8PtrTy; 87 llvm::Value *V = CGF.Builder.CreateBitCast(Ptr, Int8PtrTy); 91 V = CGF.Builder.CreateConstInBoundsGEP1_64(V, NonVirtualAdjustment); 96 CGF.ConvertType(CGF.getContext().getPointerDiffType()); 100 CGF.Builder.CreateBitCast(V, Int8PtrTy->getPointerTo()); 102 llvm::Value *VTablePtr = CGF.Builder.CreateLoad(VTablePtrPtr); 105 CGF.Builder.CreateConstInBoundsGEP1_64(VTablePtr, VirtualAdjustment); 107 OffsetPtr = CGF 178 PerformReturnAdjustment(CodeGenFunction &CGF, QualType ResultType, RValue RV, const ThunkInfo &Thunk) argument [all...] |
H A D | CGCleanup.cpp | 35 DominatingValue<RValue>::saved_type::save(CodeGenFunction &CGF, RValue rv) { argument 44 llvm::Value *addr = CGF.CreateTempAlloca(V->getType(), "saved-rvalue"); 45 CGF.Builder.CreateStore(V, addr); 54 llvm::Value *addr = CGF.CreateTempAlloca(ComplexTy, "saved-complex"); 55 CGF.StoreComplexToAddr(V, addr, /*volatile*/ false); 64 llvm::Value *addr = CGF.CreateTempAlloca(V->getType(), "saved-rvalue"); 65 CGF.Builder.CreateStore(V, addr); 72 RValue DominatingValue<RValue>::saved_type::restore(CodeGenFunction &CGF) { argument 77 return RValue::get(CGF.Builder.CreateLoad(Value)); 81 return RValue::getAggregate(CGF 272 ResolveAllBranchFixups(CodeGenFunction &CGF, llvm::SwitchInst *Switch, llvm::BasicBlock *CleanupEntry) argument 309 TransitionToCleanupSwitch(CodeGenFunction &CGF, llvm::BasicBlock *Block) argument 384 CreateNormalEntry(CodeGenFunction &CGF, EHCleanupScope &Scope) argument 400 SimplifyCleanupEntry(CodeGenFunction &CGF, llvm::BasicBlock *Entry) argument 434 EmitCleanup(CodeGenFunction &CGF, EHScopeStack::Cleanup *Fn, EHScopeStack::Cleanup::Flags flags, llvm::Value *ActiveFlag) argument 489 destroyOptimisticNormalEntry(CodeGenFunction &CGF, EHCleanupScope &scope) argument 1003 SetupCleanupBlockActivation(CodeGenFunction &CGF, EHScopeStack::stable_iterator C, ForActivation_t kind, llvm::Instruction *dominatingIP) argument [all...] |
H A D | CGExprComplex.cpp | 33 CodeGenFunction &CGF; member in class:__anon45::ComplexExprEmitter 40 : CGF(cgf), Builder(CGF.Builder), IgnoreReal(ir), IgnoreImag(ii) { 63 return EmitLoadOfLValue(CGF.EmitLValue(E)); 99 S->dump(CGF.getContext().getSourceManager()); 115 if (CodeGenFunction::ConstantEmission result = CGF.tryEmitAsConstant(E)) { 117 return EmitLoadOfLValue(result.getReferenceLValue(CGF, E)); 129 return CGF.EmitObjCMessageExpr(E).getComplexVal(); 135 return EmitLoadOfLValue(CGF.getOpaqueLValueMapping(E)); 136 return CGF [all...] |
H A D | TargetInfo.cpp | 345 CodeGenFunction &CGF) const; 355 CodeGenFunction &CGF) const { 405 CodeGenFunction &CGF) const; 425 CodeGenFunction &CGF) const { 486 static llvm::Type* X86AdjustInlineAsmType(CodeGen::CodeGenFunction &CGF, argument 490 return llvm::Type::getX86_MMXTy(CGF.getLLVMContext()); 538 CodeGenFunction &CGF) const; 563 bool initDwarfEHRegSizeTable(CodeGen::CodeGenFunction &CGF, 566 llvm::Type* adjustInlineAsmType(CodeGen::CodeGenFunction &CGF, argument 569 return X86AdjustInlineAsmType(CGF, Constrain 976 initDwarfEHRegSizeTable( CodeGen::CodeGenFunction &CGF, llvm::Value *Address) const argument 1167 initDwarfEHRegSizeTable(CodeGen::CodeGenFunction &CGF, llvm::Value *Address) const argument 1177 adjustInlineAsmType(CodeGen::CodeGenFunction &CGF, StringRef Constraint, llvm::Type* Ty) const argument 1219 initDwarfEHRegSizeTable(CodeGen::CodeGenFunction &CGF, llvm::Value *Address) const argument [all...] |
H A D | CGBlocks.cpp | 218 CodeGenFunction *CGF, 239 return CGM.EmitConstantInit(*var, CGF); 282 static void computeBlockInfo(CodeGenModule &CGM, CodeGenFunction *CGF, argument 347 if (llvm::Constant *constant = tryCaptureAsConstant(CGM, CGF, variable)) { 497 static void enterBlockScope(CodeGenFunction &CGF, BlockDecl *block) { argument 498 assert(CGF.HaveInsertPoint()); 502 *new CGBlockInfo(block, CGF.CurFn->getName()); 503 blockInfo.NextBlockInfo = CGF.FirstBlockInfo; 504 CGF.FirstBlockInfo = &blockInfo; 508 computeBlockInfo(CGF 217 tryCaptureAsConstant(CodeGenModule &CGM, CodeGenFunction *CGF, const VarDecl *var) argument 1429 emitCopy(CodeGenFunction &CGF, llvm::Value *destField, llvm::Value *srcField) argument 1443 emitDispose(CodeGenFunction &CGF, llvm::Value *field) argument 1460 emitCopy(CodeGenFunction &CGF, llvm::Value *destField, llvm::Value *srcField) argument 1465 emitDispose(CodeGenFunction &CGF, llvm::Value *field) argument 1481 emitCopy(CodeGenFunction &CGF, llvm::Value *destField, llvm::Value *srcField) argument 1499 emitDispose(CodeGenFunction &CGF, llvm::Value *field) argument 1518 emitCopy(CodeGenFunction &CGF, llvm::Value *destField, llvm::Value *srcField) argument 1532 emitDispose(CodeGenFunction &CGF, llvm::Value *field) argument 1557 emitCopy(CodeGenFunction &CGF, llvm::Value *destField, llvm::Value *srcField) argument 1563 emitDispose(CodeGenFunction &CGF, llvm::Value *field) argument 1576 generateByrefCopyHelper(CodeGenFunction &CGF, llvm::StructType &byrefType, CodeGenModule::ByrefHelpers &byrefInfo) argument 1650 generateByrefDisposeHelper(CodeGenFunction &CGF, llvm::StructType &byrefType, CodeGenModule::ByrefHelpers &byrefInfo) argument 1979 Emit(CodeGenFunction &CGF, Flags flags) argument [all...] |
H A D | CGBuiltin.cpp | 55 static Value *EmitToInt(CodeGenFunction &CGF, llvm::Value *V, argument 57 V = CGF.EmitToMemory(V, T); 60 return CGF.Builder.CreatePtrToInt(V, IntType); 66 static Value *EmitFromInt(CodeGenFunction &CGF, llvm::Value *V, argument 68 V = CGF.EmitFromMemory(V, T); 71 return CGF.Builder.CreateIntToPtr(V, ResultType); 79 static RValue EmitBinaryAtomic(CodeGenFunction &CGF, argument 84 assert(CGF.getContext().hasSameUnqualifiedType(T, 86 assert(CGF.getContext().hasSameUnqualifiedType(T, E->getArg(1)->getType())); 88 llvm::Value *DestPtr = CGF 113 EmitBinaryAtomicPost(CodeGenFunction &CGF, llvm::AtomicRMWInst::BinOp Kind, const CallExpr *E, Instruction::BinaryOps Op) argument 148 EmitFAbs(CodeGenFunction &CGF, Value *V, QualType ValTy) argument 168 emitLibraryCall(CodeGenFunction &CGF, const FunctionDecl *Fn, const CallExpr *E, llvm::Value *calleeValue) argument 1423 GetNeonType(CodeGenFunction *CGF, NeonTypeFlags TypeFlags) argument [all...] |
H A D | CGCall.cpp | 582 uint64_t DstSize, CodeGenFunction &CGF) { 591 CGF.CGM.getTargetData().getTypeAllocSize(FirstElt); 593 FirstEltSize < CGF.CGM.getTargetData().getTypeAllocSize(SrcSTy)) 597 SrcPtr = CGF.Builder.CreateConstGEP2_32(SrcPtr, 0, 0, "coerce.dive"); 603 return EnterStructPointerForCoercedAccess(SrcPtr, SrcSTy, DstSize, CGF); 613 CodeGenFunction &CGF) { 620 return CGF.Builder.CreateBitCast(Val, Ty, "coerce.val"); 623 Val = CGF.Builder.CreatePtrToInt(Val, CGF.IntPtrTy, "coerce.val.pi"); 628 DestIntTy = CGF 580 EnterStructPointerForCoercedAccess(llvm::Value *SrcPtr, llvm::StructType *SrcSTy, uint64_t DstSize, CodeGenFunction &CGF) argument 611 CoerceIntOrPtrToIntOrPtr(llvm::Value *Val, llvm::Type *Ty, CodeGenFunction &CGF) argument 646 CreateCoercedLoad(llvm::Value *SrcPtr, llvm::Type *Ty, CodeGenFunction &CGF) argument 705 BuildAggStore(CodeGenFunction &CGF, llvm::Value *Val, llvm::Value *DestPtr, bool DestIsVolatile, bool LowAlignment) argument 731 CreateCoercedStore(llvm::Value *Src, llvm::Value *DstPtr, bool DstIsVolatile, CodeGenFunction &CGF) argument 1077 emitArgumentDemotion(CodeGenFunction &CGF, const VarDecl *var, llvm::Value *value) argument 1323 tryEmitFusedAutoreleaseOfResult(CodeGenFunction &CGF, llvm::Value *result) argument 1412 tryRemoveRetainOfSelf(CodeGenFunction &CGF, llvm::Value *result) argument 1451 emitAutoreleaseOfResult(CodeGenFunction &CGF, llvm::Value *result) argument 1469 findDominatingStoreToReturnValue(CodeGenFunction &CGF) argument 1638 emitWriteback(CodeGenFunction &CGF, const CallArgList::Writeback &writeback) argument 1676 emitWritebacks(CodeGenFunction &CGF, const CallArgList &args) argument 1685 emitWritebackArg(CodeGenFunction &CGF, CallArgList &args, const ObjCIndirectCopyRestoreExpr *CRE) argument [all...] |
H A D | CGDecl.cpp | 141 static std::string GetStaticDeclName(CodeGenFunction &CGF, const VarDecl &D, argument 143 CodeGenModule &CGM = CGF.CGM; 144 if (CGF.getContext().getLangOpts().CPlusPlus) { 150 if (!CGF.CurFuncDecl) { 161 } else if (const FunctionDecl *FD = dyn_cast<FunctionDecl>(CGF.CurFuncDecl)) { 164 } else if (isa<ObjCMethodDecl>(CGF.CurFuncDecl)) 165 ContextName = CGF.CurFn->getName(); 355 void Emit(CodeGenFunction &CGF, Flags flags) { argument 360 CGF.emitDestroy(addr, type, destroyer, useEHCleanupForArray); 374 void Emit(CodeGenFunction &CGF, Flag argument 398 Emit(CodeGenFunction &CGF, Flags flags) argument 409 Emit(CodeGenFunction &CGF, Flags flags) argument 428 Emit(CodeGenFunction &CGF, Flags flags) argument 455 EmitAutoVarWithLifetime(CodeGenFunction &CGF, const VarDecl &var, llvm::Value *addr, Qualifiers::ObjCLifetime lifetime) argument 524 drillIntoBlockVariable(CodeGenFunction &CGF, LValue &lvalue, const VarDecl *var) argument 1356 emitPartialArrayDestroy(CodeGenFunction &CGF, llvm::Value *begin, llvm::Value *end, QualType type, CodeGenFunction::Destroyer *destroyer) argument 1400 Emit(CodeGenFunction &CGF, Flags flags) argument 1422 Emit(CodeGenFunction &CGF, Flags flags) argument 1478 Emit(CodeGenFunction &CGF, Flags flags) argument [all...] |
H A D | CGException.cpp | 25 static llvm::Constant *getAllocateExceptionFn(CodeGenFunction &CGF) { argument 29 llvm::FunctionType::get(CGF.Int8PtrTy, CGF.SizeTy, /*IsVarArgs=*/false); 31 return CGF.CGM.CreateRuntimeFunction(FTy, "__cxa_allocate_exception"); 34 static llvm::Constant *getFreeExceptionFn(CodeGenFunction &CGF) { argument 38 llvm::FunctionType::get(CGF.VoidTy, CGF.Int8PtrTy, /*IsVarArgs=*/false); 40 return CGF.CGM.CreateRuntimeFunction(FTy, "__cxa_free_exception"); 43 static llvm::Constant *getThrowFn(CodeGenFunction &CGF) { argument 47 llvm::Type *Args[3] = { CGF 54 getReThrowFn(CodeGenFunction &CGF) argument 63 getGetExceptionPtrFn(CodeGenFunction &CGF) argument 72 getBeginCatchFn(CodeGenFunction &CGF) argument 81 getEndCatchFn(CodeGenFunction &CGF) argument 90 getUnexpectedFn(CodeGenFunction &CGF) argument 117 getTerminateFn(CodeGenFunction &CGF) argument 136 getCatchallRethrowFn(CodeGenFunction &CGF, StringRef Name) argument 347 getCatchAllValue(CodeGenFunction &CGF) argument 358 Emit(CodeGenFunction &CGF, Flags flags) argument 369 EmitAnyExprToExn(CodeGenFunction &CGF, const Expr *e, llvm::Value *addr) argument 516 emitFilterDispatchBlock(CodeGenFunction &CGF, EHFilterScope &filterScope) argument 907 Emit(CodeGenFunction &CGF, Flags flags) argument 922 CallBeginCatch(CodeGenFunction &CGF, llvm::Value *Exn, bool EndMightThrow) argument 935 InitCatchParam(CodeGenFunction &CGF, const VarDecl &CatchParam, llvm::Value *ParamAddr) argument 1105 BeginCatch(CodeGenFunction &CGF, const CXXCatchStmt *S) argument 1144 emitCatchDispatchBlock(CodeGenFunction &CGF, EHCatchScope &catchScope) argument 1317 Emit(CodeGenFunction &CGF, Flags flags) argument 1344 Emit(CodeGenFunction &CGF, Flags flags) argument 1403 enter(CodeGenFunction &CGF, const Stmt *body, llvm::Constant *beginCatchFn, llvm::Constant *endCatchFn, llvm::Constant *rethrowFn) argument 1459 exit(CodeGenFunction &CGF) argument [all...] |
H A D | CGExprAgg.cpp | 34 CodeGenFunction &CGF; member in class:__anon41::AggExprEmitter 56 return CGF.CreateAggTemp(T, "agg.tmp.ensured"); 60 Dest = CGF.CreateAggTemp(T, "agg.tmp.ensured"); 65 : CGF(cgf), Builder(CGF.Builder), Dest(Dest) { 91 if (CGF.getLangOpts().getGC() && TypeRequiresGCollection(T)) 103 CGF.ErrorUnsupported(S, "aggregate expression"); 124 = CGF.tryEmitAsConstant(E)) { 125 EmitFinalDestCopy(E->getType(), result.getReferenceLValue(CGF, E)); 176 LValue LV = CGF 304 EmitStdInitializerListCleanup(CodeGenFunction &CGF, QualType arrayType, llvm::Value *addr, const InitListExpr *initList) argument 902 isSimpleZero(const Expr *E, CodeGenFunction &CGF) argument 1149 GetNumNonZeroBytesInInit(const Expr *E, CodeGenFunction &CGF) argument 1204 CheckAggExprForMemSetUse(AggValueSlot &Slot, const Expr *E, CodeGenFunction &CGF) argument 1386 EmitRecursiveStdInitializerListCleanup(CodeGenFunction &CGF, llvm::Value *arrayStart, const InitListExpr *init) argument [all...] |
H A D | CGExprCXX.cpp | 395 static void EmitNullBaseClassInitialization(CodeGenFunction &CGF, argument 401 DestPtr = CGF.EmitCastToVoidPtr(DestPtr); 403 const ASTRecordLayout &Layout = CGF.getContext().getASTRecordLayout(Base); 407 llvm::Value *SizeVal = CGF.CGM.getSize(Size); 415 if (!CGF.CGM.getTypes().isZeroInitializable(Base)) { 416 llvm::Constant *NullConstant = CGF.CGM.EmitNullConstantForBase(Base); 419 new llvm::GlobalVariable(CGF.CGM.getModule(), NullConstant->getType(), 424 llvm::Value *SrcPtr = CGF.EmitCastToVoidPtr(NullVariable); 427 CGF.Builder.CreateMemCpy(DestPtr, SrcPtr, SizeVal, Align.getQuantity()); 434 CGF 534 CalculateCookiePadding(CodeGenFunction &CGF, const CXXNewExpr *E) argument 547 EmitCXXNewAllocSize(CodeGenFunction &CGF, const CXXNewExpr *e, unsigned minElements, llvm::Value *&numElements, llvm::Value *&sizeWithoutCookie) argument 806 StoreAnyExprIntoOneUnit(CodeGenFunction &CGF, const Expr *Init, QualType AllocType, llvm::Value *NewPtr) argument 943 EmitZeroMemSet(CodeGenFunction &CGF, QualType T, llvm::Value *NewPtr, llvm::Value *Size) argument 951 EmitNewInitializer(CodeGenFunction &CGF, const CXXNewExpr *E, QualType ElementType, llvm::Value *NewPtr, llvm::Value *NumElements, llvm::Value *AllocSizeWithoutCookie) argument 1114 EnterNewDeleteCleanup(CodeGenFunction &CGF, const CXXNewExpr *E, llvm::Value *NewPtr, llvm::Value *AllocSize, const CallArgList &NewArgs) argument 1361 Emit(CodeGenFunction &CGF, Flags flags) argument 1368 EmitObjectDelete(CodeGenFunction &CGF, const FunctionDecl *OperatorDelete, llvm::Value *Ptr, QualType ElementType, bool UseGlobalDelete) argument 1462 Emit(CodeGenFunction &CGF, Flags flags) argument 1508 EmitArrayDelete(CodeGenFunction &CGF, const CXXDeleteExpr *E, llvm::Value *deletedPtr, QualType elementType) argument 1596 getBadTypeidFn(CodeGenFunction &CGF) argument 1603 EmitBadTypeidCall(CodeGenFunction &CGF) argument 1609 EmitTypeidFromVTable(CodeGenFunction &CGF, const Expr *E, llvm::Type *StdTypeInfoPtrTy) argument 1667 getDynamicCastFn(CodeGenFunction &CGF) argument 1685 getBadCastFn(CodeGenFunction &CGF) argument 1691 EmitBadCastCall(CodeGenFunction &CGF) argument 1698 EmitDynamicCastCall(CodeGenFunction &CGF, llvm::Value *Value, QualType SrcTy, QualType DestTy, llvm::BasicBlock *CastEnd) argument 1771 EmitDynamicCastToNull(CodeGenFunction &CGF, QualType DestTy) argument [all...] |
H A D | CGExprConstant.cpp | 38 CodeGenFunction *CGF; 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), 411 Field->getType(), CGF); 510 CGM.EmitConstantValueForMemory(FieldValue, Field->getType(), CGF); 578 CodeGenFunction *CGF, 580 ConstStructBuilder Builder(CGM, CGF); 577 BuildStruct(CodeGenModule &CGM, CodeGenFunction *CGF, InitListExpr *ILE) argument 588 BuildStruct(CodeGenModule &CGM, CodeGenFunction *CGF, const APValue &Val, QualType ValTy) argument 617 CodeGenFunction *CGF; member in class:__anon46::ConstExprEmitter 1013 EmitConstantInit(const VarDecl &D, CodeGenFunction *CGF) argument 1038 EmitConstantExpr(const Expr *E, QualType DestType, CodeGenFunction *CGF) argument 1063 EmitConstantValue(const APValue &Value, QualType DestType, CodeGenFunction *CGF) argument 1232 EmitConstantValueForMemory(const APValue &Value, QualType DestType, CodeGenFunction *CGF) argument [all...] |
H A D | CGStmt.cpp | 1374 CodeGenFunction &CGF) { 1377 Locs.push_back(llvm::ConstantInt::get(CGF.Int32Ty, 1381 const SourceManager &SM = CGF.CGM.getContext().getSourceManager(); 1382 const LangOptions &LangOpts = CGF.CGM.getLangOpts(); 1389 CGF.Target); 1390 Locs.push_back(llvm::ConstantInt::get(CGF.Int32Ty, 1395 return llvm::MDNode::get(CGF.getLLVMContext(), Locs); 1373 getAsmSrcLocInfo(const StringLiteral *Str, CodeGenFunction &CGF) argument
|
H A D | CodeGenFunction.cpp | 149 static void EmitIfUsed(CodeGenFunction &CGF, llvm::BasicBlock *BB) { argument 152 return CGF.CurFn->getBasicBlockList().push_back(BB); 763 static void emitNonZeroVLAInit(CodeGenFunction &CGF, QualType baseType, argument 767 = CGF.getContext().getTypeInfoInChars(baseType); 769 CGBuilderTy &Builder = CGF.Builder; 772 = llvm::ConstantInt::get(CGF.IntPtrTy, baseSizeAndAlign.first.getQuantity()); 779 llvm::BasicBlock *originBB = CGF.Builder.GetInsertBlock(); 780 llvm::BasicBlock *loopBB = CGF.createBasicBlock("vla-init.loop"); 781 llvm::BasicBlock *contBB = CGF.createBasicBlock("vla-init.cont"); 785 CGF [all...] |
H A D | ItaniumCXXABI.cpp | 60 llvm::Value *EmitLoadOfMemberFunctionPointer(CodeGenFunction &CGF, 65 llvm::Value *EmitMemberDataPointerAddress(CodeGenFunction &CGF, 70 llvm::Value *EmitMemberPointerConversion(CodeGenFunction &CGF, 85 llvm::Value *EmitMemberPointerComparison(CodeGenFunction &CGF, 91 llvm::Value *EmitMemberPointerIsNotNull(CodeGenFunction &CGF, 105 void BuildInstanceFunctionParams(CodeGenFunction &CGF, 109 void EmitInstanceFunctionProlog(CodeGenFunction &CGF); 114 llvm::Value *InitializeArrayCookie(CodeGenFunction &CGF, 119 llvm::Value *readArrayCookieImpl(CodeGenFunction &CGF, 123 void EmitGuardedInit(CodeGenFunction &CGF, cons 209 EmitLoadOfMemberFunctionPointer(CodeGenFunction &CGF, llvm::Value *&This, llvm::Value *MemFnPtr, const MemberPointerType *MPT) argument 294 EmitMemberDataPointerAddress(CodeGenFunction &CGF, llvm::Value *Base, llvm::Value *MemPtr, const MemberPointerType *MPT) argument 341 EmitMemberPointerConversion(CodeGenFunction &CGF, const CastExpr *E, llvm::Value *src) argument 567 EmitMemberPointerComparison(CodeGenFunction &CGF, llvm::Value *L, llvm::Value *R, const MemberPointerType *MPT, bool Inequality) argument 641 EmitMemberPointerIsNotNull(CodeGenFunction &CGF, llvm::Value *MemPtr, const MemberPointerType *MPT) argument 731 BuildInstanceFunctionParams(CodeGenFunction &CGF, QualType &ResTy, FunctionArgList &Params) argument 754 BuildInstanceFunctionParams(CodeGenFunction &CGF, QualType &ResTy, FunctionArgList &Params) argument 764 EmitInstanceFunctionProlog(CodeGenFunction &CGF) argument 776 EmitInstanceFunctionProlog(CodeGenFunction &CGF) argument 785 EmitReturnFromThunk(CodeGenFunction &CGF, RValue RV, QualType ResultType) argument 806 InitializeArrayCookie(CodeGenFunction &CGF, llvm::Value *NewPtr, llvm::Value *NumElements, const CXXNewExpr *expr, QualType ElementType) argument 843 readArrayCookieImpl(CodeGenFunction &CGF, llvm::Value *allocPtr, CharUnits cookieSize) argument 872 InitializeArrayCookie(CodeGenFunction &CGF, llvm::Value *NewPtr, llvm::Value *NumElements, const CXXNewExpr *expr, QualType ElementType) argument 908 readArrayCookieImpl(CodeGenFunction &CGF, llvm::Value *allocPtr, CharUnits cookieSize) argument 960 Emit(CodeGenFunction &CGF, Flags flags) argument 969 EmitGuardedInit(CodeGenFunction &CGF, const VarDecl &D, llvm::GlobalVariable *var, bool shouldPerformInit) argument 1109 emitGlobalDtorWithCXAAtExit(CodeGenFunction &CGF, llvm::Constant *dtor, llvm::Constant *addr) argument 1142 registerGlobalDtor(CodeGenFunction &CGF, llvm::Constant *dtor, llvm::Constant *addr) argument [all...] |