/external/clang/lib/CodeGen/ |
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, [all...] |
CGCUDARuntime.cpp | 27 RValue CGCUDARuntime::EmitCUDAKernelCallExpr(CodeGenFunction &CGF, 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.EmitBranch(ContBlock) [all...] |
CGObjCRuntime.cpp | 85 LValue CGObjCRuntime::EmitValueForIvarAtOffset(CodeGen::CodeGenFunction &CGF, 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.CGM.getContext().getTargetInfo().getCharAlign() [all...] |
CGCXXABI.cpp | 22 static void ErrorUnsupportedABI(CodeGenFunction &CGF, 24 DiagnosticsEngine &Diags = CGF.CGM.getDiags(); 27 Diags.Report(CGF.getContext().getFullLoc(CGF.CurCodeDecl->getLocation()), 42 llvm::Value *CGCXXABI::EmitLoadOfMemberFunctionPointer(CodeGenFunction &CGF, 46 ErrorUnsupportedABI(CGF, "calls through member pointers"); 57 llvm::Value *CGCXXABI::EmitMemberDataPointerAddress(CodeGenFunction &CGF, 61 ErrorUnsupportedABI(CGF, "loads of member pointers"); 62 llvm::Type *Ty = CGF.ConvertType(MPT->getPointeeType())->getPointerTo(); 66 llvm::Value *CGCXXABI::EmitMemberPointerConversion(CodeGenFunction &CGF, [all...] |
CGCXXABI.h | 50 ImplicitParamDecl *&getThisDecl(CodeGenFunction &CGF) { 51 return CGF.CXXABIThisDecl; 53 llvm::Value *&getThisValue(CodeGenFunction &CGF) { 54 return CGF.CXXABIThisValue; 59 ImplicitParamDecl *&getVTTDecl(CodeGenFunction &CGF) { 60 return CGF.CXXStructorImplicitParamDecl; 62 llvm::Value *&getVTTValue(CodeGenFunction &CGF) { 63 return CGF.CXXStructorImplicitParamValue; 66 ImplicitParamDecl *&getStructorImplicitParamDecl(CodeGenFunction &CGF) { 67 return CGF.CXXStructorImplicitParamDecl [all...] |
CGCUDANV.cpp | 42 void EmitDeviceStubBody(CodeGenFunction &CGF, FunctionArgList &Args); 78 void CGNVCUDARuntime::EmitDeviceStubBody(CodeGenFunction &CGF, 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.EmitRuntimeCallOrInvoke(cudaSetupArgFn, Args) [all...] |
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, 95 llvm::Value *adjustToCompleteObject(CodeGenFunction &CGF, 109 void BuildInstanceFunctionParams(CodeGenFunction &CGF, 113 void EmitInstanceFunctionProlog(CodeGenFunction &CGF); 115 void EmitConstructorCall(CodeGenFunction &CGF, 123 RValue EmitVirtualDestructorCall(CodeGenFunction &CGF, [all...] |
CGExprAgg.cpp | 42 CodeGenFunction &CGF; 64 return CGF.CreateAggTemp(T, "agg.tmp.ensured"); 68 Dest = CGF.CreateAggTemp(T, "agg.tmp.ensured"); 72 AggExprEmitter(CodeGenFunction &cgf, AggValueSlot Dest) 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)) [all...] |
CGCUDARuntime.h | 39 virtual RValue EmitCUDAKernelCallExpr(CodeGenFunction &CGF, 43 virtual void EmitDeviceStubBody(CodeGenFunction &CGF,
|
CGExprScalar.cpp | 61 CodeGenFunction &CGF; 67 ScalarExprEmitter(CodeGenFunction &cgf, bool ira=false) 68 : CGF(cgf), Builder(CGF.Builder), IgnoreResultAssign(ira), 69 VMContext(cgf.getLLVMContext()) { 82 llvm::Type *ConvertType(QualType T) { return CGF.ConvertType(T); } 83 LValue EmitLValue(const Expr *E) { return CGF.EmitLValue(E); } 85 return CGF.EmitCheckedLValue(E, TCK); 91 return CGF.EmitLoadOfLValue(LV).getScalarVal() [all...] |
CGException.cpp | 355 static llvm::Constant *getCatchAllValue(CodeGenFunction &CGF) { 357 return llvm::ConstantPointerNull::get(CGF.Int8PtrTy); 366 void Emit(CodeGenFunction &CGF, Flags flags) { 367 CGF.EmitNounwindRuntimeCall(getFreeExceptionFn(CGF.CGM), exn); 376 static void EmitAnyExprToExn(CodeGenFunction &CGF, const Expr *e, 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.Builder.CreateBitCast(addr, ty) [all...] |
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) { [all...] |
CGExprCXX.cpp | 406 static void EmitNullBaseClassInitialization(CodeGenFunction &CGF, 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.Builder.CreateMemSet(DestPtr, CGF.Builder.getInt8(0), SizeVal [all...] |
CGDeclCXX.cpp | 24 static void EmitDeclInit(CodeGenFunction &CGF, const VarDecl &D, 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.EmitScalarInit(Init, &D, lv, false) [all...] |
CGExprComplex.cpp | 43 CodeGenFunction &CGF; 48 ComplexExprEmitter(CodeGenFunction &cgf, bool ir=false, bool ii=false) 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() [all...] |
CGOpenCLRuntime.h | 41 /// an entry to CGF's LocalDeclMap for D. The base class does this using 43 virtual void EmitWorkGroupLocalVarDecl(CodeGenFunction &CGF,
|
TargetInfo.h | 88 virtual bool initDwarfEHRegSizeTable(CodeGen::CodeGenFunction &CGF, 98 virtual llvm::Value *decodeReturnAddress(CodeGen::CodeGenFunction &CGF, 108 virtual llvm::Value *encodeReturnAddress(CodeGen::CodeGenFunction &CGF, 113 virtual llvm::Type* adjustInlineAsmType(CodeGen::CodeGenFunction &CGF,
|
CGCleanup.cpp | 35 DominatingValue<RValue>::saved_type::save(CodeGenFunction &CGF, RValue rv) { 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.Builder.CreateStore(V, addr) [all...] |
CGObjCMac.cpp | [all...] |
CGClass.cpp | 111 ApplyNonVirtualAndVirtualOffset(CodeGenFunction &CGF, llvm::Value *ptr, 120 baseOffset = llvm::ConstantInt::get(CGF.PtrDiffTy, 123 baseOffset = CGF.Builder.CreateAdd(virtualOffset, baseOffset); 130 ptr = CGF.Builder.CreateBitCast(ptr, CGF.Int8PtrTy); 131 ptr = CGF.Builder.CreateInBoundsGEP(ptr, baseOffset, "add.ptr"); 342 void Emit(CodeGenFunction &CGF, Flags flags) { 344 cast<CXXMethodDecl>(CGF.CurCodeDecl)->getParent(); 348 CGF.GetAddressOfDirectBaseInCompleteClass(CGF.LoadCXXThis() [all...] |
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, 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, 578 return X86AdjustInlineAsmType(CGF, Constraint, Ty) [all...] |
CGObjC.cpp | 31 tryEmitARCRetainScalarExpr(CodeGenFunction &CGF, const Expr *e); 32 static RValue AdjustRelatedResultType(CodeGenFunction &CGF, 204 static RValue AdjustRelatedResultType(CodeGenFunction &CGF, 212 CGF.getContext().hasSameType(ExpT, Method->getResultType()) || 217 return RValue::get(CGF.Builder.CreateBitCast(Result.getScalarVal(), 218 CGF.ConvertType(ExpT))); 409 void Emit(CodeGenFunction &CGF, Flags flags) { 410 const ObjCMethodDecl *method = cast<ObjCMethodDecl>(CGF.CurCodeDecl); 419 llvm::Value *self = CGF.LoadObjCSelf(); 422 CGF.CGM.getObjCRuntime().GenerateMessageSendSuper(CGF, ReturnValueSlot() [all...] |
CGAtomic.cpp | 37 CodeGenFunction &CGF; 48 AtomicInfo(CodeGenFunction &CGF, LValue &lvalue) : CGF(CGF) { 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.getContext(), lvalue.getTBAAInfo()) [all...] |
CGCall.cpp | 620 uint64_t DstSize, CodeGenFunction &CGF) { 629 CGF.CGM.getDataLayout().getTypeAllocSize(FirstElt); 631 FirstEltSize < CGF.CGM.getDataLayout().getTypeAllocSize(SrcSTy)) 635 SrcPtr = CGF.Builder.CreateConstGEP2_32(SrcPtr, 0, 0, "coerce.dive"); 641 return EnterStructPointerForCoercedAccess(SrcPtr, SrcSTy, DstSize, CGF); 651 CodeGenFunction &CGF) { 658 return CGF.Builder.CreateBitCast(Val, Ty, "coerce.val"); 661 Val = CGF.Builder.CreatePtrToInt(Val, CGF.IntPtrTy, "coerce.val.pi"); 666 DestIntTy = CGF.IntPtrTy [all...] |
CodeGenFunction.h | 121 static saved_type save(CodeGenFunction &CGF, type value) { return value; } 122 static type restore(CodeGenFunction &CGF, saved_type value) { return value; } 237 virtual void Emit(CodeGenFunction &CGF, Flags flags) = 0; 247 void Emit(CodeGenFunction &CGF, Flags flags) { 248 A0 a0 = DominatingValue<A0>::restore(CGF, a0_saved); 249 T(a0).Emit(CGF, flags); 264 void Emit(CodeGenFunction &CGF, Flags flags) { 265 A0 a0 = DominatingValue<A0>::restore(CGF, a0_saved); 266 A1 a1 = DominatingValue<A1>::restore(CGF, a1_saved); 267 T(a0, a1).Emit(CGF, flags) [all...] |