/external/clang/lib/CodeGen/ |
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, 37 eval.begin(CGF); 38 CGF.EmitBlock(ConfigOKBlock); 47 llvm::Value *Callee = CGF.EmitScalarExpr(E->getCallee()); 48 CGF.EmitCall(E->getCallee()->getType(), Callee, E->getLocStart(), 50 CGF.EmitBranch(ContBlock) [all...] |
CGBuilder.h | 27 CGBuilderInserter() : CGF(nullptr) {} 28 explicit CGBuilderInserter(CodeGenFunction *CGF) : CGF(CGF) {} 38 CodeGenFunction *CGF;
|
CGObjCRuntime.cpp | 86 LValue CGObjCRuntime::EmitValueForIvarAtOffset(CodeGen::CodeGenFunction &CGF, 94 llvm::Type *LTy = CGF.CGM.getTypes().ConvertTypeForMem(IvarTy); 95 llvm::Value *V = CGF.Builder.CreateBitCast(BaseValue, CGF.Int8PtrTy); 96 V = CGF.Builder.CreateInBoundsGEP(V, Offset, "add.ptr"); 99 V = CGF.Builder.CreateBitCast(V, llvm::PointerType::getUnqual(LTy)); 100 LValue LV = CGF.MakeNaturalAlignAddrLValue(V, IvarTy); 119 uint64_t FieldBitOffset = LookupFieldBitOffset(CGF.CGM, OID, nullptr, Ivar); 120 uint64_t BitOffset = FieldBitOffset % CGF.CGM.getContext().getCharWidth(); 121 uint64_t AlignmentBits = CGF.CGM.getTarget().getCharAlign() [all...] |
CGCXXABI.cpp | 22 void CGCXXABI::ErrorUnsupportedABI(CodeGenFunction &CGF, StringRef S) { 23 DiagnosticsEngine &Diags = CGF.CGM.getDiags(); 26 Diags.Report(CGF.getContext().getFullLoc(CGF.CurCodeDecl->getLocation()), 76 CodeGenFunction &CGF, const Expr *E, llvm::Value *&This, 78 ErrorUnsupportedABI(CGF, "calls through member pointers"); 90 CGCXXABI::EmitMemberDataPointerAddress(CodeGenFunction &CGF, const Expr *E, 93 ErrorUnsupportedABI(CGF, "loads of member pointers"); 94 llvm::Type *Ty = CGF.ConvertType(MPT->getPointeeType())->getPointerTo(); 98 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; 58 void ErrorUnsupportedABI(CodeGenFunction &CGF, StringRef S); 63 ImplicitParamDecl *&getStructorImplicitParamDecl(CodeGenFunction &CGF) { 64 return CGF.CXXStructorImplicitParamDecl; 66 llvm::Value *&getStructorImplicitParamValue(CodeGenFunction &CGF) { 67 return CGF.CXXStructorImplicitParamValue; 72 void EmitThisParam(CodeGenFunction &CGF); [all...] |
CGOpenMPRuntime.cpp | 71 CodeGenFunction &CGF, SourceLocation Loc, OpenMPLocationFlags Flags) { 77 assert(CGF.CurFn && "No function in current CodeGenFunction."); 80 OpenMPLocMapTy::iterator I = OpenMPLocMap.find(CGF.CurFn); 85 llvm::AllocaInst *AI = CGF.CreateTempAlloca(IdentTy, ".kmpc_loc.addr"); 87 OpenMPLocMap[CGF.CurFn] = AI; 90 CGBuilderTy::InsertPointGuard IPG(CGF.Builder); 91 CGF.Builder.SetInsertPoint(CGF.AllocaInsertPt); 92 CGF.Builder.CreateMemCpy(LocValue, GetOrCreateDefaultOpenMPLocation(Flags), 99 CGF.Builder.CreateConstInBoundsGEP2_32(LocValue, 0, IdentField_PSource) [all...] |
CGCUDANV.cpp | 42 void EmitDeviceStubBody(CodeGenFunction &CGF, FunctionArgList &Args) override; 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...] |
CGCUDARuntime.h | 39 virtual RValue EmitCUDAKernelCallExpr(CodeGenFunction &CGF, 43 virtual void EmitDeviceStubBody(CodeGenFunction &CGF,
|
CGExprAgg.cpp | 34 CodeGenFunction &CGF; 56 return CGF.CreateAggTemp(T, "agg.tmp.ensured"); 60 Dest = CGF.CreateAggTemp(T, "agg.tmp.ensured"); 64 AggExprEmitter(CodeGenFunction &cgf, AggValueSlot Dest) 65 : CGF(cgf), Builder(CGF.Builder), Dest(Dest) { 90 if (CGF.getLangOpts().getGC() && TypeRequiresGCollection(T)) 102 CGF.ErrorUnsupported(S, "aggregate expression"); 123 = CGF.tryEmitAsConstant(E)) [all...] |
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, Loc).getScalarVal() [all...] |
CGException.cpp | 337 static llvm::Constant *getCatchAllValue(CodeGenFunction &CGF) { 339 return llvm::ConstantPointerNull::get(CGF.Int8PtrTy); 348 void Emit(CodeGenFunction &CGF, Flags flags) override { 349 CGF.EmitNounwindRuntimeCall(getFreeExceptionFn(CGF.CGM), exn); 358 static void EmitAnyExprToExn(CodeGenFunction &CGF, const Expr *e, 362 CGF.pushFullExprCleanup<FreeException>(EHCleanup, addr); 363 EHScopeStack::stable_iterator cleanup = CGF.EHStack.stable_begin(); 367 llvm::Type *ty = CGF.ConvertTypeForMem(e->getType())->getPointerTo(); 368 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...] |
CGAtomic.cpp | 29 CodeGenFunction &CGF; 40 AtomicInfo(CodeGenFunction &CGF, LValue &lvalue) : CGF(CGF) { 45 EvaluationKind = CGF.getEvaluationKind(ValueTy); 47 ASTContext &C = CGF.getContext(); 90 CharUnits size = CGF.getContext().toCharUnitsFromBits(AtomicSizeInBits); 91 return CGF.CGM.getSize(size); 110 addr = CGF.Builder.CreateStructGEP(addr, 0); 113 CGF.getContext(), lvalue.getTBAAInfo()) [all...] |
CGExprCXX.cpp | 311 static void EmitNullBaseClassInitialization(CodeGenFunction &CGF, 317 DestPtr = CGF.EmitCastToVoidPtr(DestPtr); 319 const ASTRecordLayout &Layout = CGF.getContext().getASTRecordLayout(Base); 323 llvm::Value *SizeVal = CGF.CGM.getSize(Size); 331 if (!CGF.CGM.getTypes().isZeroInitializable(Base)) { 332 llvm::Constant *NullConstant = CGF.CGM.EmitNullConstantForBase(Base); 335 new llvm::GlobalVariable(CGF.CGM.getModule(), NullConstant->getType(), 340 llvm::Value *SrcPtr = CGF.EmitCastToVoidPtr(NullVariable); 343 CGF.Builder.CreateMemCpy(DestPtr, SrcPtr, SizeVal, Align.getQuantity()); 350 CGF.Builder.CreateMemSet(DestPtr, CGF.Builder.getInt8(0), SizeVal [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 | 96 virtual bool initDwarfEHRegSizeTable(CodeGen::CodeGenFunction &CGF, 106 virtual llvm::Value *decodeReturnAddress(CodeGen::CodeGenFunction &CGF, 116 virtual llvm::Value *encodeReturnAddress(CodeGen::CodeGenFunction &CGF, 126 virtual llvm::Type *adjustInlineAsmType(CodeGen::CodeGenFunction &CGF,
|
MicrosoftCXXABI.cpp | 60 llvm::Value *adjustToCompleteObject(CodeGenFunction &CGF, 70 void EmitBadTypeidCall(CodeGenFunction &CGF) override; 71 llvm::Value *EmitTypeid(CodeGenFunction &CGF, QualType SrcRecordTy, 78 llvm::Value *EmitDynamicCastCall(CodeGenFunction &CGF, llvm::Value *Value, 83 llvm::Value *EmitDynamicCastToVoid(CodeGenFunction &CGF, llvm::Value *Value, 87 bool EmitBadCastCall(CodeGenFunction &CGF) override; 90 GetVirtualBaseClassOffset(CodeGenFunction &CGF, llvm::Value *This, 99 EmitCtorCompleteObjectHandler(CodeGenFunction &CGF, 102 void initializeHiddenVirtualInheritanceMembers(CodeGenFunction &CGF, 171 adjustThisArgumentForVirtualFunctionCall(CodeGenFunction &CGF, GlobalDecl GD [all...] |
ItaniumCXXABI.cpp | 73 EmitLoadOfMemberFunctionPointer(CodeGenFunction &CGF, 80 EmitMemberDataPointerAddress(CodeGenFunction &CGF, const Expr *E, 85 llvm::Value *EmitMemberPointerConversion(CodeGenFunction &CGF, 100 llvm::Value *EmitMemberPointerComparison(CodeGenFunction &CGF, 105 llvm::Value *EmitMemberPointerIsNotNull(CodeGenFunction &CGF, 109 llvm::Value *adjustToCompleteObject(CodeGenFunction &CGF, llvm::Value *ptr, 117 void EmitBadTypeidCall(CodeGenFunction &CGF) override; 118 llvm::Value *EmitTypeid(CodeGenFunction &CGF, QualType SrcRecordTy, 125 llvm::Value *EmitDynamicCastCall(CodeGenFunction &CGF, llvm::Value *Value, 130 llvm::Value *EmitDynamicCastToVoid(CodeGenFunction &CGF, llvm::Value *Value [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.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...] |
CGClass.cpp | 113 ApplyNonVirtualAndVirtualOffset(CodeGenFunction &CGF, llvm::Value *ptr, 122 baseOffset = llvm::ConstantInt::get(CGF.PtrDiffTy, 125 baseOffset = CGF.Builder.CreateAdd(virtualOffset, baseOffset); 132 ptr = CGF.Builder.CreateBitCast(ptr, CGF.Int8PtrTy); 133 ptr = CGF.Builder.CreateInBoundsGEP(ptr, baseOffset, "add.ptr"); 345 void Emit(CodeGenFunction &CGF, Flags flags) override { 347 cast<CXXMethodDecl>(CGF.CurCodeDecl)->getParent(); 351 CGF.GetAddressOfDirectBaseInCompleteClass(CGF.LoadCXXThis() [all...] |
CGObjCMac.cpp | [all...] |
CGExprComplex.cpp | 44 CodeGenFunction &CGF; 49 ComplexExprEmitter(CodeGenFunction &cgf, bool ir=false, bool ii=false) 50 : CGF(cgf), Builder(CGF.Builder), IgnoreReal(ir), IgnoreImag(ii) { 73 return EmitLoadOfLValue(CGF.EmitLValue(E), E->getExprLoc()); 98 S->dump(CGF.getContext().getSourceManager()); 114 if (CodeGenFunction::ConstantEmission result = CGF.tryEmitAsConstant(E)) { 116 return EmitLoadOfLValue(result.getReferenceLValue(CGF, E), 129 return CGF.EmitObjCMessageExpr(E).getComplexVal() [all...] |
CGObjC.cpp | 33 tryEmitARCRetainScalarExpr(CodeGenFunction &CGF, const Expr *e); 34 static RValue AdjustRelatedResultType(CodeGenFunction &CGF, 230 static RValue AdjustRelatedResultType(CodeGenFunction &CGF, 238 CGF.getContext().hasSameType(ExpT, Method->getReturnType()) || 243 return RValue::get(CGF.Builder.CreateBitCast(Result.getScalarVal(), 244 CGF.ConvertType(ExpT))); 434 void Emit(CodeGenFunction &CGF, Flags flags) override { 435 const ObjCMethodDecl *method = cast<ObjCMethodDecl>(CGF.CurCodeDecl); 444 llvm::Value *self = CGF.LoadObjCSelf(); 447 CGF.CGM.getObjCRuntime().GenerateMessageSendSuper(CGF, ReturnValueSlot() [all...] |
TargetInfo.cpp | 364 CodeGenFunction &CGF) const override; 374 CodeGenFunction &CGF) const { 421 CodeGenFunction &CGF) const override; 439 CodeGenFunction &CGF) const { 485 static llvm::Type* X86AdjustInlineAsmType(CodeGen::CodeGenFunction &CGF, 494 return llvm::Type::getX86_MMXTy(CGF.getLLVMContext()); 561 CodeGenFunction &CGF) const override; 587 bool initDwarfEHRegSizeTable(CodeGen::CodeGenFunction &CGF, 590 llvm::Type* adjustInlineAsmType(CodeGen::CodeGenFunction &CGF, 593 return X86AdjustInlineAsmType(CGF, Constraint, Ty) [all...] |
EHScopeStack.h | 59 static saved_type save(CodeGenFunction &CGF, type value) { return value; } 60 static type restore(CodeGenFunction &CGF, saved_type value) { return value; } 175 virtual void Emit(CodeGenFunction &CGF, Flags flags) = 0; 185 void Emit(CodeGenFunction &CGF, Flags flags) override { 186 A0 a0 = DominatingValue<A0>::restore(CGF, a0_saved); 187 T(a0).Emit(CGF, flags); 202 void Emit(CodeGenFunction &CGF, Flags flags) override { 203 A0 a0 = DominatingValue<A0>::restore(CGF, a0_saved); 204 A1 a1 = DominatingValue<A1>::restore(CGF, a1_saved); 205 T(a0, a1).Emit(CGF, flags) [all...] |