/external/clang/lib/CodeGen/ |
CGOpenCLRuntime.cpp | 25 void CGOpenCLRuntime::EmitWorkGroupLocalVarDecl(CodeGenFunction &CGF, 27 return CGF.EmitStaticVarDecl(D, llvm::GlobalValue::InternalLinkage);
|
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 | 81 LValue CGObjCRuntime::EmitValueForIvarAtOffset(CodeGen::CodeGenFunction &CGF, 88 llvm::Type *I8Ptr = llvm::Type::getInt8PtrTy(CGF.getLLVMContext()); 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.MakeAddrLValue(V, IvarTy); 116 CGF.CGM.getContext().getASTObjCInterfaceLayout(OID); 117 uint64_t TypeSizeInBits = CGF.CGM.getContext().toBits(RL.getSize()); 118 uint64_t FieldBitOffset = LookupFieldBitOffset(CGF.CGM, OID, 0, Ivar) [all...] |
CGException.cpp | 29 static llvm::Constant *getAllocateExceptionFn(CodeGenFunction &CGF) { 33 llvm::FunctionType::get(CGF.Int8PtrTy, CGF.SizeTy, /*IsVarArgs=*/false); 35 return CGF.CGM.CreateRuntimeFunction(FTy, "__cxa_allocate_exception"); 38 static llvm::Constant *getFreeExceptionFn(CodeGenFunction &CGF) { 42 llvm::FunctionType::get(CGF.VoidTy, CGF.Int8PtrTy, /*IsVarArgs=*/false); 44 return CGF.CGM.CreateRuntimeFunction(FTy, "__cxa_free_exception"); 47 static llvm::Constant *getThrowFn(CodeGenFunction &CGF) { 51 llvm::Type *Args[3] = { CGF.Int8PtrTy, CGF.Int8PtrTy, CGF.Int8PtrTy } [all...] |
MicrosoftCXXABI.cpp | 47 void BuildInstanceFunctionParams(CodeGenFunction &CGF, 50 BuildThisParam(CGF, Params); 54 void EmitInstanceFunctionProlog(CodeGenFunction &CGF) { 55 EmitThisParam(CGF);
|
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"); 58 llvm::Value *CGCXXABI::EmitMemberDataPointerAddress(CodeGenFunction &CGF, 62 ErrorUnsupportedABI(CGF, "loads of member pointers"); 63 llvm::Type *Ty = CGF.ConvertType(MPT->getPointeeType())->getPointerTo(); 67 llvm::Value *CGCXXABI::EmitMemberPointerConversion(CodeGenFunction &CGF, [all...] |
CGCXXABI.h | 51 ImplicitParamDecl *&getThisDecl(CodeGenFunction &CGF) { 52 return CGF.CXXThisDecl; 54 llvm::Value *&getThisValue(CodeGenFunction &CGF) { 55 return CGF.CXXThisValue; 58 ImplicitParamDecl *&getVTTDecl(CodeGenFunction &CGF) { 59 return CGF.CXXVTTDecl; 61 llvm::Value *&getVTTValue(CodeGenFunction &CGF) { 62 return CGF.CXXVTTValue; 66 void BuildThisParam(CodeGenFunction &CGF, FunctionArgList &Params); 70 void EmitThisParam(CodeGenFunction &CGF); [all...] |
CGCUDANV.cpp | 43 void EmitDeviceStubBody(CodeGenFunction &CGF, FunctionArgList &Args); 79 void CGNVCUDARuntime::EmitDeviceStubBody(CodeGenFunction &CGF, 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.EmitCallOrInvoke(cudaSetupArgFn, Args) [all...] |
CGExprCXX.cpp | 356 static void EmitNullBaseClassInitialization(CodeGenFunction &CGF, 362 DestPtr = CGF.EmitCastToVoidPtr(DestPtr); 364 const ASTRecordLayout &Layout = CGF.getContext().getASTRecordLayout(Base); 368 llvm::Value *SizeVal = CGF.CGM.getSize(Size); 376 if (!CGF.CGM.getTypes().isZeroInitializable(Base)) { 377 llvm::Constant *NullConstant = CGF.CGM.EmitNullConstantForBase(Base); 380 new llvm::GlobalVariable(CGF.CGM.getModule(), NullConstant->getType(), 385 llvm::Value *SrcPtr = CGF.EmitCastToVoidPtr(NullVariable); 388 CGF.Builder.CreateMemCpy(DestPtr, SrcPtr, SizeVal, Align.getQuantity()); 395 CGF.Builder.CreateMemSet(DestPtr, CGF.Builder.getInt8(0), SizeVal [all...] |
CGExprAgg.cpp | 33 CodeGenFunction &CGF; 56 return CGF.CreateAggTemp(T, "agg.tmp.ensured"); 60 AggExprEmitter(CodeGenFunction &cgf, AggValueSlot Dest, 62 : CGF(cgf), Builder(CGF.Builder), Dest(Dest), 82 if (CGF.getLangOptions().getGC() && TypeRequiresGCollection(T)) 94 CGF.ErrorUnsupported(S, "aggregate expression"); 156 void VisitCXXThrowExpr(const CXXThrowExpr *E) { CGF.EmitCXXThrowExpr(E); } 158 CGF.EmitAtomicExpr(E, EnsureSlot(E->getType()).getAddr()) [all...] |
CGCUDARuntime.h | 39 virtual RValue EmitCUDAKernelCallExpr(CodeGenFunction &CGF, 43 virtual void EmitDeviceStubBody(CodeGenFunction &CGF,
|
ItaniumCXXABI.cpp | 63 llvm::Value *EmitLoadOfMemberFunctionPointer(CodeGenFunction &CGF, 68 llvm::Value *EmitMemberDataPointerAddress(CodeGenFunction &CGF, 73 llvm::Value *EmitMemberPointerConversion(CodeGenFunction &CGF, 86 llvm::Value *EmitMemberPointerComparison(CodeGenFunction &CGF, 92 llvm::Value *EmitMemberPointerIsNotNull(CodeGenFunction &CGF, 106 void BuildInstanceFunctionParams(CodeGenFunction &CGF, 110 void EmitInstanceFunctionProlog(CodeGenFunction &CGF); 113 llvm::Value *InitializeArrayCookie(CodeGenFunction &CGF, 118 void ReadArrayCookie(CodeGenFunction &CGF, llvm::Value *Ptr, 123 void EmitGuardedInit(CodeGenFunction &CGF, const VarDecl &D [all...] |
CGExprScalar.cpp | 60 CodeGenFunction &CGF; 66 ScalarExprEmitter(CodeGenFunction &cgf, bool ira=false) 67 : CGF(cgf), Builder(CGF.Builder), IgnoreResultAssign(ira), 68 VMContext(cgf.getLLVMContext()) { 81 llvm::Type *ConvertType(QualType T) { return CGF.ConvertType(T); } 82 LValue EmitLValue(const Expr *E) { return CGF.EmitLValue(E); } 83 LValue EmitCheckedLValue(const Expr *E) { return CGF.EmitCheckedLValue(E); } 86 return CGF.EmitLoadOfLValue(LV).getScalarVal() [all...] |
CGObjC.cpp | 31 tryEmitARCRetainScalarExpr(CodeGenFunction &CGF, const Expr *e); 66 static RValue AdjustRelatedResultType(CodeGenFunction &CGF, 74 CGF.getContext().hasSameType(E->getType(), Method->getResultType()) || 79 return RValue::get(CGF.Builder.CreateBitCast(Result.getScalarVal(), 80 CGF.ConvertType(E->getType()))); 271 void Emit(CodeGenFunction &CGF, Flags flags) { 272 const ObjCMethodDecl *method = cast<ObjCMethodDecl>(CGF.CurCodeDecl); 281 llvm::Value *self = CGF.LoadObjCSelf(); 284 CGF.CGM.getObjCRuntime().GenerateMessageSendSuper(CGF, ReturnValueSlot() [all...] |
CGObjCRuntime.h | 83 LValue EmitValueForIvarAtOffset(CodeGen::CodeGenFunction &CGF, 96 void EmitTryCatchStmt(CodeGenFunction &CGF, 105 void EmitAtSynchronizedStmt(CodeGenFunction &CGF, 148 GenerateMessageSend(CodeGen::CodeGenFunction &CGF, 164 GenerateMessageSendSuper(CodeGen::CodeGenFunction &CGF, 218 virtual void EmitSynchronizedStmt(CodeGen::CodeGenFunction &CGF, 220 virtual void EmitTryStmt(CodeGen::CodeGenFunction &CGF, 222 virtual void EmitThrowStmt(CodeGen::CodeGenFunction &CGF, 224 virtual llvm::Value *EmitObjCWeakRead(CodeGen::CodeGenFunction &CGF, 226 virtual void EmitObjCWeakAssign(CodeGen::CodeGenFunction &CGF, [all...] |
CGOpenCLRuntime.h | 37 /// an entry to CGF's LocalDeclMap for D. The base class does this using 39 virtual void EmitWorkGroupLocalVarDecl(CodeGenFunction &CGF,
|
TargetInfo.h | 86 virtual bool initDwarfEHRegSizeTable(CodeGen::CodeGenFunction &CGF, 96 virtual llvm::Value *decodeReturnAddress(CodeGen::CodeGenFunction &CGF, 106 virtual llvm::Value *encodeReturnAddress(CodeGen::CodeGenFunction &CGF, 111 virtual llvm::Type* adjustInlineAsmType(CodeGen::CodeGenFunction &CGF,
|
CGClass.cpp | 108 ApplyNonVirtualAndVirtualOffset(CodeGenFunction &CGF, llvm::Value *ThisPtr, 111 CGF.ConvertType(CGF.getContext().getPointerDiffType()); 121 BaseOffset = CGF.Builder.CreateAdd(Virtual, NonVirtualOffset); 128 llvm::Type *Int8PtrTy = llvm::Type::getInt8PtrTy(CGF.getLLVMContext()); 129 ThisPtr = CGF.Builder.CreateBitCast(ThisPtr, Int8PtrTy); 130 ThisPtr = CGF.Builder.CreateGEP(ThisPtr, BaseOffset, "add.ptr"); 278 static llvm::Value *GetVTTParameter(CodeGenFunction &CGF, GlobalDecl GD, 285 const CXXRecordDecl *RD = cast<CXXMethodDecl>(CGF.CurFuncDecl)->getParent(); 295 assert(!CodeGenVTables::needsVTTParameter(CGF.CurGD) & [all...] |
CGExprComplex.cpp | 33 CodeGenFunction &CGF; 39 ComplexExprEmitter(CodeGenFunction &cgf, bool ir=false, bool ii=false) 40 : CGF(cgf), Builder(CGF.Builder), IgnoreReal(ir), IgnoreImag(ii) { 63 return EmitLoadOfLValue(CGF.EmitLValue(E)); 71 return CGF.EmitLoadOfPropertyRefLValue(LV).getComplexVal(); 85 CGF.EmitStoreThroughPropertyRefLValue(RValue::getComplex(Val), LV); 105 S->dump(CGF.getContext().getSourceManager()); 130 return CGF.EmitObjCMessageExpr(E).getComplexVal() [all...] |
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.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) { 77 return RValue::get(CGF.Builder.CreateLoad(Value)); 81 return RValue::getAggregate(CGF.Builder.CreateLoad(Value)) [all...] |
CGTemporaries.cpp | 24 void Emit(CodeGenFunction &CGF, Flags flags) { 25 CGF.EmitCXXDestructorCall(dtor, Dtor_Complete, /*ForVirtualBase=*/false,
|
CGObjCMac.cpp | 826 CodeGen::RValue EmitMessageSend(CodeGen::CodeGenFunction &CGF, [all...] |
CGDeclCXX.cpp | 23 static void EmitDeclInit(CodeGenFunction &CGF, const VarDecl &D, 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.EmitScalarInit(Init, &D, lv, false) [all...] |
CGBlocks.cpp | [all...] |
CodeGenFunction.h | 110 static saved_type save(CodeGenFunction &CGF, type value) { return value; } 111 static type restore(CodeGenFunction &CGF, saved_type value) { return value; } 227 virtual void Emit(CodeGenFunction &CGF, Flags flags) = 0; 237 void Emit(CodeGenFunction &CGF, Flags flags) { 238 A0 a0 = DominatingValue<A0>::restore(CGF, a0_saved); 239 T(a0).Emit(CGF, flags); 254 void Emit(CodeGenFunction &CGF, Flags flags) { 255 A0 a0 = DominatingValue<A0>::restore(CGF, a0_saved); 256 A1 a1 = DominatingValue<A1>::restore(CGF, a1_saved); 257 T(a0, a1).Emit(CGF, flags) [all...] |