/external/clang/lib/CodeGen/ |
H A D | CGOpenCLRuntime.cpp | 27 void CGOpenCLRuntime::EmitWorkGroupLocalVarDecl(CodeGenFunction &CGF, argument 29 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 | CGObjCRuntime.h | 85 LValue EmitValueForIvarAtOffset(CodeGen::CodeGenFunction &CGF, 98 void EmitTryCatchStmt(CodeGenFunction &CGF, 107 void EmitAtSynchronizedStmt(CodeGenFunction &CGF, 122 virtual llvm::Value *GetSelector(CodeGenFunction &CGF, 126 virtual llvm::Value *GetSelector(CodeGenFunction &CGF, 153 GenerateMessageSend(CodeGen::CodeGenFunction &CGF, 169 GenerateMessageSendSuper(CodeGen::CodeGenFunction &CGF, 182 virtual llvm::Value *GenerateProtocolRef(CodeGenFunction &CGF, 221 virtual llvm::Value *GetClass(CodeGenFunction &CGF, 225 virtual llvm::Value *EmitNSAutoreleasePoolClassRef(CodeGenFunction &CGF) { argument [all...] |
H A D | CGCXXABI.h | 50 ImplicitParamDecl *&getThisDecl(CodeGenFunction &CGF) { argument 51 return CGF.CXXABIThisDecl; 53 llvm::Value *&getThisValue(CodeGenFunction &CGF) { argument 54 return CGF.CXXABIThisValue; 59 ImplicitParamDecl *&getVTTDecl(CodeGenFunction &CGF) { argument 60 return CGF.CXXStructorImplicitParamDecl; 62 llvm::Value *&getVTTValue(CodeGenFunction &CGF) { argument 63 return CGF.CXXStructorImplicitParamValue; 66 ImplicitParamDecl *&getStructorImplicitParamDecl(CodeGenFunction &CGF) { argument 67 return CGF 69 getStructorImplicitParamValue(CodeGenFunction &CGF) argument [all...] |
H A D | CGCUDANV.cpp | 42 void EmitDeviceStubBody(CodeGenFunction &CGF, FunctionArgList &Args); 78 void CGNVCUDARuntime::EmitDeviceStubBody(CodeGenFunction &CGF, argument 85 llvm::Value *V = CGF.GetAddrOfLocalVar(*I); 91 CGF.getLLVMContext(), ArgTypes); 93 llvm::BasicBlock *EndBlock = CGF.createBasicBlock("setup.end"); 99 llvm::BasicBlock *NextBlock = CGF.createBasicBlock("setup.next"); 100 Args[0] = CGF.Builder.CreatePointerCast(ArgValues[I], VoidPtrTy); 101 Args[1] = CGF.Builder.CreateIntCast( 104 Args[2] = CGF.Builder.CreateIntCast( 107 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 | CGCXX.cpp | 295 static llvm::Value *BuildVirtualCall(CodeGenFunction &CGF, uint64_t VTableIndex, argument 299 llvm::Value *VTable = CGF.GetVTablePtr(This, Ty); 301 CGF.Builder.CreateConstInBoundsGEP1_64(VTable, VTableIndex, "vfn"); 302 return CGF.Builder.CreateLoad(VFuncPtr);
|
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 252 EmitCtorCompleteObjectHandler( CodeGenFunction &CGF) argument [all...] |
H A D | CGDeclCXX.cpp | 24 static void EmitDeclInit(CodeGenFunction &CGF, const VarDecl &D, argument 30 ASTContext &Context = CGF.getContext(); 34 LValue lv = CGF.MakeAddrLValue(DeclPtr, type, alignment); 37 switch (CGF.getEvaluationKind(type)) { 39 CodeGenModule &CGM = CGF.CGM; 41 CGM.getObjCRuntime().EmitObjCGlobalAssign(CGF, CGF.EmitScalarExpr(Init), 44 CGM.getObjCRuntime().EmitObjCWeakAssign(CGF, CGF.EmitScalarExpr(Init), 47 CGF 64 EmitDeclDestroy(CodeGenFunction &CGF, const VarDecl &D, llvm::Constant *addr) argument 113 EmitDeclInvariant(CodeGenFunction &CGF, const VarDecl &D, llvm::Constant *Addr) argument [all...] |
H A D | CGObjCRuntime.cpp | 85 LValue CGObjCRuntime::EmitValueForIvarAtOffset(CodeGen::CodeGenFunction &CGF, argument 93 llvm::Type *LTy = CGF.CGM.getTypes().ConvertTypeForMem(IvarTy); 94 llvm::Value *V = CGF.Builder.CreateBitCast(BaseValue, CGF.Int8PtrTy); 95 V = CGF.Builder.CreateInBoundsGEP(V, Offset, "add.ptr"); 98 V = CGF.Builder.CreateBitCast(V, llvm::PointerType::getUnqual(LTy)); 99 LValue LV = CGF.MakeNaturalAlignAddrLValue(V, IvarTy); 118 uint64_t FieldBitOffset = LookupFieldBitOffset(CGF.CGM, OID, 0, Ivar); 119 uint64_t BitOffset = FieldBitOffset % CGF.CGM.getContext().getCharWidth(); 120 uint64_t AlignmentBits = CGF 160 Emit(CodeGenFunction &CGF, Flags flags) argument 172 EmitTryCatchStmt(CodeGenFunction &CGF, const ObjCAtTryStmt &S, llvm::Constant *beginCatchFn, llvm::Constant *endCatchFn, llvm::Constant *exceptionRethrowFn) argument 305 Emit(CodeGenFunction &CGF, Flags flags) argument 311 EmitAtSynchronizedStmt(CodeGenFunction &CGF, const ObjCAtSynchronizedStmt &S, llvm::Function *syncEnterFn, llvm::Function *syncExitFn) argument [all...] |
H A D | MicrosoftCXXABI.cpp | 36 llvm::Value *adjustToCompleteObject(CodeGenFunction &CGF, 45 llvm::BasicBlock *EmitCtorCompleteObjectHandler(CodeGenFunction &CGF); 52 void BuildInstanceFunctionParams(CodeGenFunction &CGF, 56 void EmitInstanceFunctionProlog(CodeGenFunction &CGF); 58 void EmitConstructorCall(CodeGenFunction &CGF, 66 RValue EmitVirtualDestructorCall(CodeGenFunction &CGF, 73 void EmitGuardedInit(CodeGenFunction &CGF, const VarDecl &D, 103 llvm::Value *InitializeArrayCookie(CodeGenFunction &CGF, 108 llvm::Value *readArrayCookieImpl(CodeGenFunction &CGF, 116 llvm::Value *MicrosoftCXXABI::adjustToCompleteObject(CodeGenFunction &CGF, argument 144 EmitCtorCompleteObjectHandler( CodeGenFunction &CGF) argument 186 BuildInstanceFunctionParams(CodeGenFunction &CGF, QualType &ResTy, FunctionArgList &Params) argument 215 EmitInstanceFunctionProlog(CodeGenFunction &CGF) argument 241 EmitConstructorCall(CodeGenFunction &CGF, const CXXConstructorDecl *D, CXXCtorType Type, bool ForVirtualBase, bool Delegating, llvm::Value *This, CallExpr::const_arg_iterator ArgBeg, CallExpr::const_arg_iterator ArgEnd) argument 264 EmitVirtualDestructorCall(CodeGenFunction &CGF, const CXXDestructorDecl *Dtor, CXXDtorType DtorType, SourceLocation CallLoc, ReturnValueSlot ReturnValue, llvm::Value *This) argument 309 readArrayCookieImpl(CodeGenFunction &CGF, llvm::Value *allocPtr, CharUnits cookieSize) argument 318 InitializeArrayCookie(CodeGenFunction &CGF, llvm::Value *newPtr, llvm::Value *numElements, const CXXNewExpr *expr, QualType elementType) argument 343 EmitGuardedInit(CodeGenFunction &CGF, const VarDecl &D, llvm::GlobalVariable *DeclPtr, bool PerformInit) argument [all...] |
H A D | CGVTables.cpp | 52 static llvm::Value *PerformTypeAdjustment(CodeGenFunction &CGF, argument 60 llvm::Type *Int8PtrTy = CGF.Int8PtrTy; 61 llvm::Value *V = CGF.Builder.CreateBitCast(Ptr, Int8PtrTy); 65 V = CGF.Builder.CreateConstInBoundsGEP1_64(V, NonVirtualAdjustment); 70 CGF.ConvertType(CGF.getContext().getPointerDiffType()); 74 CGF.Builder.CreateBitCast(V, Int8PtrTy->getPointerTo()); 76 llvm::Value *VTablePtr = CGF.Builder.CreateLoad(VTablePtrPtr); 79 CGF.Builder.CreateConstInBoundsGEP1_64(VTablePtr, VirtualAdjustment); 81 OffsetPtr = CGF 156 PerformReturnAdjustment(CodeGenFunction &CGF, QualType ResultType, RValue RV, const ThunkInfo &Thunk) argument [all...] |
H A D | CGAtomic.cpp | 37 CodeGenFunction &CGF; member in class:__anon3700::AtomicInfo 48 AtomicInfo(CodeGenFunction &CGF, LValue &lvalue) : CGF(CGF) { argument 53 EvaluationKind = CGF.getEvaluationKind(ValueTy); 55 ASTContext &C = CGF.getContext(); 98 CharUnits size = CGF.getContext().toCharUnitsFromBits(AtomicSizeInBits); 99 return CGF.CGM.getSize(size); 117 addr = CGF.Builder.CreateStructGEP(addr, 0); 120 CGF 131 emitAtomicLibcall(CodeGenFunction &CGF, StringRef fnName, QualType resultType, CallArgList &args) argument 184 EmitAtomicOp(CodeGenFunction &CGF, AtomicExpr *E, llvm::Value *Dest, llvm::Value *Ptr, llvm::Value *Val1, llvm::Value *Val2, uint64_t Size, unsigned Align, llvm::AtomicOrdering Order) argument 313 EmitValToTemp(CodeGenFunction &CGF, Expr *E) 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.Builder.CreateStore(V.first, CGF.Builder.CreateStructGEP(addr, 0)); 56 CGF.Builder.CreateStore(V.second, CGF.Builder.CreateStructGEP(addr, 1)); 65 llvm::Value *addr = CGF.CreateTempAlloca(V->getType(), "saved-rvalue"); 66 CGF 73 restore(CodeGenFunction &CGF) argument 278 ResolveAllBranchFixups(CodeGenFunction &CGF, llvm::SwitchInst *Switch, llvm::BasicBlock *CleanupEntry) argument 315 TransitionToCleanupSwitch(CodeGenFunction &CGF, llvm::BasicBlock *Block) argument 390 CreateNormalEntry(CodeGenFunction &CGF, EHCleanupScope &Scope) argument 406 SimplifyCleanupEntry(CodeGenFunction &CGF, llvm::BasicBlock *Entry) argument 440 EmitCleanup(CodeGenFunction &CGF, EHScopeStack::Cleanup *Fn, EHScopeStack::Cleanup::Flags flags, llvm::Value *ActiveFlag) argument 495 destroyOptimisticNormalEntry(CodeGenFunction &CGF, EHCleanupScope &scope) argument 1009 SetupCleanupBlockActivation(CodeGenFunction &CGF, EHScopeStack::stable_iterator C, ForActivation_t kind, llvm::Instruction *dominatingIP) argument [all...] |
H A D | CGExprComplex.cpp | 43 CodeGenFunction &CGF; member in class:__anon3725::ComplexExprEmitter 49 : CGF(cgf), Builder(CGF.Builder), IgnoreReal(ir), IgnoreImag(ii) { 72 return EmitLoadOfLValue(CGF.EmitLValue(E)); 94 S->dump(CGF.getContext().getSourceManager()); 110 if (CodeGenFunction::ConstantEmission result = CGF.tryEmitAsConstant(E)) { 112 return EmitLoadOfLValue(result.getReferenceLValue(CGF, E)); 124 return CGF.EmitObjCMessageExpr(E).getComplexVal(); 130 return EmitLoadOfLValue(CGF.getOpaqueLValueMapping(E)); 131 return CGF [all...] |
H A D | TargetInfo.cpp | 352 CodeGenFunction &CGF) const; 362 CodeGenFunction &CGF) const { 412 CodeGenFunction &CGF) const; 432 CodeGenFunction &CGF) const { 493 static llvm::Type* X86AdjustInlineAsmType(CodeGen::CodeGenFunction &CGF, argument 497 return llvm::Type::getX86_MMXTy(CGF.getLLVMContext()); 547 CodeGenFunction &CGF) const; 572 bool initDwarfEHRegSizeTable(CodeGen::CodeGenFunction &CGF, 575 llvm::Type* adjustInlineAsmType(CodeGen::CodeGenFunction &CGF, argument 578 return X86AdjustInlineAsmType(CGF, Constrain 1031 initDwarfEHRegSizeTable( CodeGen::CodeGenFunction &CGF, llvm::Value *Address) const argument 1227 initDwarfEHRegSizeTable(CodeGen::CodeGenFunction &CGF, llvm::Value *Address) const argument 1237 adjustInlineAsmType(CodeGen::CodeGenFunction &CGF, StringRef Constraint, llvm::Type* Ty) const argument 1279 initDwarfEHRegSizeTable(CodeGen::CodeGenFunction &CGF, llvm::Value *Address) const argument [all...] |
H A D | CGBlocks.cpp | 265 CodeGenFunction *CGF, 286 return CGM.EmitConstantInit(*var, CGF); 329 static void computeBlockInfo(CodeGenModule &CGM, CodeGenFunction *CGF, argument 400 if (llvm::Constant *constant = tryCaptureAsConstant(CGM, CGF, variable)) { 561 static void enterBlockScope(CodeGenFunction &CGF, BlockDecl *block) { argument 562 assert(CGF.HaveInsertPoint()); 566 *new CGBlockInfo(block, CGF.CurFn->getName()); 567 blockInfo.NextBlockInfo = CGF.FirstBlockInfo; 568 CGF.FirstBlockInfo = &blockInfo; 572 computeBlockInfo(CGF 264 tryCaptureAsConstant(CodeGenModule &CGM, CodeGenFunction *CGF, const VarDecl *var) argument 1593 emitCopy(CodeGenFunction &CGF, llvm::Value *destField, llvm::Value *srcField) argument 1609 emitDispose(CodeGenFunction &CGF, llvm::Value *field) argument 1626 emitCopy(CodeGenFunction &CGF, llvm::Value *destField, llvm::Value *srcField) argument 1631 emitDispose(CodeGenFunction &CGF, llvm::Value *field) argument 1647 emitCopy(CodeGenFunction &CGF, llvm::Value *destField, llvm::Value *srcField) argument 1672 emitDispose(CodeGenFunction &CGF, llvm::Value *field) argument 1688 emitCopy(CodeGenFunction &CGF, llvm::Value *destField, llvm::Value *srcField) argument 1702 emitDispose(CodeGenFunction &CGF, llvm::Value *field) argument 1724 emitCopy(CodeGenFunction &CGF, llvm::Value *destField, llvm::Value *srcField) argument 1730 emitDispose(CodeGenFunction &CGF, llvm::Value *field) argument 1743 generateByrefCopyHelper(CodeGenFunction &CGF, llvm::StructType &byrefType, unsigned valueFieldIndex, CodeGenModule::ByrefHelpers &byrefInfo) argument 1821 generateByrefDisposeHelper(CodeGenFunction &CGF, llvm::StructType &byrefType, unsigned byrefValueIndex, CodeGenModule::ByrefHelpers &byrefInfo) argument 2230 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 112 EmitBinaryAtomicPost(CodeGenFunction &CGF, llvm::AtomicRMWInst::BinOp Kind, const CallExpr *E, Instruction::BinaryOps Op) argument 146 EmitFAbs(CodeGenFunction &CGF, Value *V, QualType ValTy) argument 166 emitLibraryCall(CodeGenFunction &CGF, const FunctionDecl *Fn, const CallExpr *E, llvm::Value *calleeValue) argument 181 EmitOverflowIntrinsic(CodeGenFunction &CGF, const llvm::Intrinsic::ID IntrinsicID, llvm::Value *X, llvm::Value *Y, llvm::Value *&Carry) argument 1519 GetNeonType(CodeGenFunction *CGF, NeonTypeFlags TypeFlags) argument [all...] |
H A D | CGDecl.cpp | 142 static std::string GetStaticDeclName(CodeGenFunction &CGF, const VarDecl &D, argument 144 CodeGenModule &CGM = CGF.CGM; 145 if (CGF.getLangOpts().CPlusPlus) { 151 if (!CGF.CurFuncDecl) { 162 } else if (const FunctionDecl *FD = dyn_cast<FunctionDecl>(CGF.CurFuncDecl)) { 165 } else if (isa<ObjCMethodDecl>(CGF.CurFuncDecl)) 166 ContextName = CGF.CurFn->getName(); 356 void Emit(CodeGenFunction &CGF, Flags flags) { argument 361 CGF.emitDestroy(addr, type, destroyer, useEHCleanupForArray); 375 void Emit(CodeGenFunction &CGF, Flag argument 401 Emit(CodeGenFunction &CGF, Flags flags) argument 412 Emit(CodeGenFunction &CGF, Flags flags) argument 431 Emit(CodeGenFunction &CGF, Flags flags) argument 458 EmitAutoVarWithLifetime(CodeGenFunction &CGF, const VarDecl &var, llvm::Value *addr, Qualifiers::ObjCLifetime lifetime) argument 527 drillIntoBlockVariable(CodeGenFunction &CGF, LValue &lvalue, const VarDecl *var) argument 1383 emitPartialArrayDestroy(CodeGenFunction &CGF, llvm::Value *begin, llvm::Value *end, QualType type, CodeGenFunction::Destroyer *destroyer) argument 1427 Emit(CodeGenFunction &CGF, Flags flags) argument 1449 Emit(CodeGenFunction &CGF, Flags flags) argument 1500 Emit(CodeGenFunction &CGF, Flags flags) argument [all...] |
H A D | CGException.cpp | 355 static llvm::Constant *getCatchAllValue(CodeGenFunction &CGF) { argument 357 return llvm::ConstantPointerNull::get(CGF.Int8PtrTy); 366 void Emit(CodeGenFunction &CGF, Flags flags) { argument 367 CGF.EmitNounwindRuntimeCall(getFreeExceptionFn(CGF.CGM), exn); 376 static void EmitAnyExprToExn(CodeGenFunction &CGF, const Expr *e, argument 380 CGF.pushFullExprCleanup<FreeException>(EHCleanup, addr); 381 EHScopeStack::stable_iterator cleanup = CGF.EHStack.stable_begin(); 385 llvm::Type *ty = CGF.ConvertTypeForMem(e->getType())->getPointerTo(); 386 llvm::Value *typedAddr = CGF 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 1109 BeginCatch(CodeGenFunction &CGF, const CXXCatchStmt *S) argument 1148 emitCatchDispatchBlock(CodeGenFunction &CGF, EHCatchScope &catchScope) argument 1321 Emit(CodeGenFunction &CGF, Flags flags) argument 1348 Emit(CodeGenFunction &CGF, Flags flags) argument 1408 enter(CodeGenFunction &CGF, const Stmt *body, llvm::Constant *beginCatchFn, llvm::Constant *endCatchFn, llvm::Constant *rethrowFn) argument 1464 exit(CodeGenFunction &CGF) argument [all...] |
H A D | CGExprAgg.cpp | 42 CodeGenFunction &CGF; member in class:__anon3721::AggExprEmitter 64 return CGF.CreateAggTemp(T, "agg.tmp.ensured"); 68 Dest = CGF.CreateAggTemp(T, "agg.tmp.ensured"); 73 : CGF(cgf), Builder(CGF.Builder), Dest(Dest) { 99 if (CGF.getLangOpts().getGC() && TypeRequiresGCollection(T)) 111 CGF.ErrorUnsupported(S, "aggregate expression"); 132 = CGF.tryEmitAsConstant(E)) { 133 EmitFinalDestCopy(E->getType(), result.getReferenceLValue(CGF, E)); 184 LValue LV = CGF 207 ValueDestForAtomic(CodeGenFunction &CGF, AggValueSlot dest, QualType type) argument 352 EmitStdInitializerListCleanup(CodeGenFunction &CGF, QualType arrayType, llvm::Value *addr, const InitListExpr *initList) argument 1051 isSimpleZero(const Expr *E, CodeGenFunction &CGF) argument 1308 GetNumNonZeroBytesInInit(const Expr *E, CodeGenFunction &CGF) argument 1363 CheckAggExprForMemSetUse(AggValueSlot &Slot, const Expr *E, CodeGenFunction &CGF) argument 1556 EmitRecursiveStdInitializerListCleanup(CodeGenFunction &CGF, llvm::Value *arrayStart, const InitListExpr *init) argument [all...] |
H A D | CGExprCXX.cpp | 406 static void EmitNullBaseClassInitialization(CodeGenFunction &CGF, argument 412 DestPtr = CGF.EmitCastToVoidPtr(DestPtr); 414 const ASTRecordLayout &Layout = CGF.getContext().getASTRecordLayout(Base); 418 llvm::Value *SizeVal = CGF.CGM.getSize(Size); 426 if (!CGF.CGM.getTypes().isZeroInitializable(Base)) { 427 llvm::Constant *NullConstant = CGF.CGM.EmitNullConstantForBase(Base); 430 new llvm::GlobalVariable(CGF.CGM.getModule(), NullConstant->getType(), 435 llvm::Value *SrcPtr = CGF.EmitCastToVoidPtr(NullVariable); 438 CGF.Builder.CreateMemCpy(DestPtr, SrcPtr, SizeVal, Align.getQuantity()); 445 CGF 547 CalculateCookiePadding(CodeGenFunction &CGF, const CXXNewExpr *E) argument 560 EmitCXXNewAllocSize(CodeGenFunction &CGF, const CXXNewExpr *e, unsigned minElements, llvm::Value *&numElements, llvm::Value *&sizeWithoutCookie) argument 819 StoreAnyExprIntoOneUnit(CodeGenFunction &CGF, const Expr *Init, QualType AllocType, llvm::Value *NewPtr) argument 963 EmitZeroMemSet(CodeGenFunction &CGF, QualType T, llvm::Value *NewPtr, llvm::Value *Size) argument 971 EmitNewInitializer(CodeGenFunction &CGF, const CXXNewExpr *E, QualType ElementType, llvm::Value *NewPtr, llvm::Value *NumElements, llvm::Value *AllocSizeWithoutCookie) argument 1134 EnterNewDeleteCleanup(CodeGenFunction &CGF, const CXXNewExpr *E, llvm::Value *NewPtr, llvm::Value *AllocSize, const CallArgList &NewArgs) argument 1380 Emit(CodeGenFunction &CGF, Flags flags) argument 1387 EmitObjectDelete(CodeGenFunction &CGF, const FunctionDecl *OperatorDelete, llvm::Value *Ptr, QualType ElementType, bool UseGlobalDelete) argument 1484 Emit(CodeGenFunction &CGF, Flags flags) argument 1530 EmitArrayDelete(CodeGenFunction &CGF, const CXXDeleteExpr *E, llvm::Value *deletedPtr, QualType elementType) argument 1618 getBadTypeidFn(CodeGenFunction &CGF) argument 1625 EmitBadTypeidCall(CodeGenFunction &CGF) argument 1631 EmitTypeidFromVTable(CodeGenFunction &CGF, const Expr *E, llvm::Type *StdTypeInfoPtrTy) argument 1689 getDynamicCastFn(CodeGenFunction &CGF) argument 1712 getBadCastFn(CodeGenFunction &CGF) argument 1718 EmitBadCastCall(CodeGenFunction &CGF) argument 1777 EmitDynamicCastCall(CodeGenFunction &CGF, llvm::Value *Value, QualType SrcTy, QualType DestTy, llvm::BasicBlock *CastEnd) argument 1856 EmitDynamicCastToNull(CodeGenFunction &CGF, QualType DestTy) argument [all...] |
H A D | CGExprConstant.cpp | 38 CodeGenFunction *CGF; member in class:__anon3726::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:__anon3726::ConstExprEmitter 1008 EmitConstantInit(const VarDecl &D, CodeGenFunction *CGF) argument 1050 EmitConstantExpr(const Expr *E, QualType DestType, CodeGenFunction *CGF) argument 1075 EmitConstantValue(const APValue &Value, QualType DestType, CodeGenFunction *CGF) argument 1247 EmitConstantValueForMemory(const APValue &Value, QualType DestType, CodeGenFunction *CGF) argument [all...] |
H A D | CGStmt.cpp | 1412 CodeGenFunction &CGF) { 1415 Locs.push_back(llvm::ConstantInt::get(CGF.Int32Ty, 1419 const SourceManager &SM = CGF.CGM.getContext().getSourceManager(); 1420 const LangOptions &LangOpts = CGF.CGM.getLangOpts(); 1427 CGF.Target); 1428 Locs.push_back(llvm::ConstantInt::get(CGF.Int32Ty, 1433 return llvm::MDNode::get(CGF.getLLVMContext(), Locs); 1411 getAsmSrcLocInfo(const StringLiteral *Str, CodeGenFunction &CGF) argument
|
H A D | CodeGenFunction.cpp | 174 static void EmitIfUsed(CodeGenFunction &CGF, llvm::BasicBlock *BB) { argument 177 return CGF.CurFn->getBasicBlockList().push_back(BB); 841 static void emitNonZeroVLAInit(CodeGenFunction &CGF, QualType baseType, argument 845 = CGF.getContext().getTypeInfoInChars(baseType); 847 CGBuilderTy &Builder = CGF.Builder; 850 = llvm::ConstantInt::get(CGF.IntPtrTy, baseSizeAndAlign.first.getQuantity()); 857 llvm::BasicBlock *originBB = CGF.Builder.GetInsertBlock(); 858 llvm::BasicBlock *loopBB = CGF.createBasicBlock("vla-init.loop"); 859 llvm::BasicBlock *contBB = CGF.createBasicBlock("vla-init.cont"); 863 CGF [all...] |