/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, ReturnValue, TargetDecl); 49 CGF.EmitBranch(ContBlock) [all...] |
CGOpenMPRuntime.cpp | 66 void EmitBody(CodeGenFunction &CGF, const Stmt *S) override; 70 virtual LValue getThreadIDVariableLValue(CodeGenFunction &CGF); 135 LValue getThreadIDVariableLValue(CodeGenFunction &CGF) override; 241 CodeGenFunction &CGF; 248 InlinedOpenMPRegionRAII(CodeGenFunction &CGF, const RegionCodeGenTy &CodeGen, 250 : CGF(CGF) { 252 CGF.CapturedStmtInfo = new CGOpenMPInlinedRegionInfo( 253 CGF.CapturedStmtInfo, CodeGen, Kind, HasCancel); 258 cast<CGOpenMPInlinedRegionInfo>(CGF.CapturedStmtInfo)->getOldCSI() [all...] |
CGCXXABI.cpp | 23 void CGCXXABI::ErrorUnsupportedABI(CodeGenFunction &CGF, StringRef S) { 24 DiagnosticsEngine &Diags = CGF.CGM.getDiags(); 27 Diags.Report(CGF.getContext().getFullLoc(CGF.CurCodeDecl->getLocation()), 77 CodeGenFunction &CGF, const Expr *E, Address This, 80 ErrorUnsupportedABI(CGF, "calls through member pointers"); 93 CGCXXABI::EmitMemberDataPointerAddress(CodeGenFunction &CGF, const Expr *E, 96 ErrorUnsupportedABI(CGF, "loads of member pointers"); 97 llvm::Type *Ty = CGF.ConvertType(MPT->getPointeeType()) 102 llvm::Value *CGCXXABI::EmitMemberPointerConversion(CodeGenFunction &CGF, [all...] |
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.h | 52 ImplicitParamDecl *getThisDecl(CodeGenFunction &CGF) { 53 return CGF.CXXABIThisDecl; 55 llvm::Value *getThisValue(CodeGenFunction &CGF) { 56 return CGF.CXXABIThisValue; 58 Address getThisAddress(CodeGenFunction &CGF) { 59 return Address(CGF.CXXABIThisValue, CGF.CXXABIThisAlignment); 63 void ErrorUnsupportedABI(CodeGenFunction &CGF, StringRef S); 68 ImplicitParamDecl *&getStructorImplicitParamDecl(CodeGenFunction &CGF) { 69 return CGF.CXXStructorImplicitParamDecl [all...] |
CGExprAgg.cpp | 34 CodeGenFunction &CGF; 58 return CGF.CreateAggTemp(T, "agg.tmp.ensured"); 62 Dest = CGF.CreateAggTemp(T, "agg.tmp.ensured"); 66 AggExprEmitter(CodeGenFunction &cgf, AggValueSlot Dest, bool IsResultUnused) 67 : CGF(cgf), Builder(CGF.Builder), Dest(Dest), 91 if (CGF.getLangOpts().getGC() && TypeRequiresGCollection(T)) 103 ApplyDebugLocation DL(CGF, E); 108 CGF.ErrorUnsupported(S, "aggregate expression") [all...] |
CGObjCRuntime.h | 85 LValue EmitValueForIvarAtOffset(CodeGen::CodeGenFunction &CGF, 98 void EmitTryCatchStmt(CodeGenFunction &CGF, 104 void EmitInitOfCatchParam(CodeGenFunction &CGF, llvm::Value *exn, 111 void EmitAtSynchronizedStmt(CodeGenFunction &CGF, 125 virtual llvm::Value *GetSelector(CodeGenFunction &CGF, Selector Sel) = 0; 132 virtual Address GetAddrOfSelector(CodeGenFunction &CGF, Selector Sel) = 0; 135 virtual llvm::Value *GetSelector(CodeGenFunction &CGF, 162 GenerateMessageSend(CodeGen::CodeGenFunction &CGF, 178 GenerateMessageSendSuper(CodeGen::CodeGenFunction &CGF, 191 virtual llvm::Value *GenerateProtocolRef(CodeGenFunction &CGF, [all...] |
CGOpenMPRuntime.h | 299 llvm::Value *emitUpdateLocation(CodeGenFunction &CGF, SourceLocation Loc, 338 virtual Address emitThreadIDAddress(CodeGenFunction &CGF, SourceLocation Loc); 342 llvm::Value *getThreadID(CodeGenFunction &CGF, SourceLocation Loc); 362 void emitThreadPrivateVarInit(CodeGenFunction &CGF, Address VDAddr, 405 void functionFinished(CodeGenFunction &CGF); 417 virtual void emitParallelCall(CodeGenFunction &CGF, SourceLocation Loc, 427 virtual void emitCriticalRegion(CodeGenFunction &CGF, StringRef CriticalName, 435 virtual void emitMasterRegion(CodeGenFunction &CGF, 440 virtual void emitTaskyieldCall(CodeGenFunction &CGF, SourceLocation Loc); 445 virtual void emitTaskgroupRegion(CodeGenFunction &CGF, [all...] |
ItaniumCXXABI.cpp | 116 EmitLoadOfMemberFunctionPointer(CodeGenFunction &CGF, 124 EmitMemberDataPointerAddress(CodeGenFunction &CGF, const Expr *E, 129 llvm::Value *EmitMemberPointerConversion(CodeGenFunction &CGF, 144 llvm::Value *EmitMemberPointerComparison(CodeGenFunction &CGF, 149 llvm::Value *EmitMemberPointerIsNotNull(CodeGenFunction &CGF, 153 void emitVirtualObjectDelete(CodeGenFunction &CGF, const CXXDeleteExpr *DE, 170 void emitRethrow(CodeGenFunction &CGF, bool isNoReturn) override; 171 void emitThrow(CodeGenFunction &CGF, const CXXThrowExpr *E) override; 173 void emitBeginCatch(CodeGenFunction &CGF, const CXXCatchStmt *C) override; 176 emitTerminateForUnexpectedException(CodeGenFunction &CGF, [all...] |
CGAtomic.cpp | 30 CodeGenFunction &CGF; 43 AtomicInfo(CodeGenFunction &CGF, LValue &lvalue) 44 : CGF(CGF), AtomicSizeInBits(0), ValueSizeInBits(0), 47 ASTContext &C = CGF.getContext(); 54 EvaluationKind = CGF.getEvaluationKind(ValueTy); 83 auto VoidPtrAddr = CGF.EmitCastToVoidPtr(lvalue.getBitFieldPointer()); 87 VoidPtrAddr = CGF.Builder.CreateConstGEP1_64( 89 auto Addr = CGF.Builder.CreatePointerBitCastOrAddrSpaceCast( 91 CGF.Builder.getIntNTy(AtomicSizeInBits)->getPointerTo() [all...] |
CGStmtOpenMP.cpp | 47 static Address castValueFromUintptr(CodeGenFunction &CGF, QualType DstType, 50 ASTContext &Ctx = CGF.getContext(); 52 auto *CastedPtr = CGF.EmitScalarConversion( 56 CGF.MakeNaturalAlignAddrLValue(CastedPtr, Ctx.getPointerType(DstType)) 64 TmpAddr = CGF.CreateMemTemp(RefType, Twine(Name) + ".ref"); 65 auto TmpLVal = CGF.MakeAddrLValue(TmpAddr, RefType); 66 CGF.EmitScalarInit(RefVal, TmpLVal); 263 static void EmitOMPAggregateInit(CodeGenFunction &CGF, Address DestAddr, 270 auto NumElements = CGF.emitArrayLength(ArrayTy, ElementTy, DestAddr); 272 CGF.Builder.CreateElementBitCast(DestAddr, DestAddr.getElementType()) [all...] |
CGExprScalar.cpp | 62 CodeGenFunction &CGF; 68 ScalarExprEmitter(CodeGenFunction &cgf, bool ira=false) 69 : CGF(cgf), Builder(CGF.Builder), IgnoreResultAssign(ira), 70 VMContext(cgf.getLLVMContext()) { 83 llvm::Type *ConvertType(QualType T) { return CGF.ConvertType(T); } 84 LValue EmitLValue(const Expr *E) { return CGF.EmitLValue(E); } 86 return CGF.EmitCheckedLValue(E, TCK); 93 return CGF.EmitLoadOfLValue(LV, Loc).getScalarVal() [all...] |
CGExprComplex.cpp | 48 CodeGenFunction &CGF; 53 ComplexExprEmitter(CodeGenFunction &cgf, bool ir=false, bool ii=false) 54 : CGF(cgf), Builder(CGF.Builder), IgnoreReal(ir), IgnoreImag(ii) { 77 return EmitLoadOfLValue(CGF.EmitLValue(E), E->getExprLoc()); 98 ApplyDebugLocation DL(CGF, E); 103 S->dump(CGF.getContext().getSourceManager()); 119 if (CodeGenFunction::ConstantEmission result = CGF.tryEmitAsConstant(E)) { 121 return EmitLoadOfLValue(result.getReferenceLValue(CGF, E) [all...] |
CGCUDARuntime.h | 43 virtual RValue EmitCUDAKernelCallExpr(CodeGenFunction &CGF, 48 virtual void emitDeviceStub(CodeGenFunction &CGF, FunctionArgList &Args) = 0;
|
CGClass.cpp | 224 ApplyNonVirtualAndVirtualOffset(CodeGenFunction &CGF, Address addr, 235 baseOffset = llvm::ConstantInt::get(CGF.PtrDiffTy, 238 baseOffset = CGF.Builder.CreateAdd(virtualOffset, baseOffset); 246 ptr = CGF.Builder.CreateBitCast(ptr, CGF.Int8PtrTy); 247 ptr = CGF.Builder.CreateInBoundsGEP(ptr, baseOffset, "add.ptr"); 254 alignment = CGF.CGM.getVBaseAlignment(addr.getAlignment(), 481 void Emit(CodeGenFunction &CGF, Flags flags) override { 483 cast<CXXMethodDecl>(CGF.CurCodeDecl)->getParent(); 487 CGF.GetAddressOfDirectBaseInCompleteClass(CGF.LoadCXXThisAddress() [all...] |
CGException.cpp | 218 const EHPersonality &EHPersonality::get(CodeGenFunction &CGF) { 219 return get(CGF.CGM, dyn_cast_or_null<FunctionDecl>(CGF.CurCodeDecl)); 336 static llvm::Constant *getCatchAllValue(CodeGenFunction &CGF) { 338 return llvm::ConstantPointerNull::get(CGF.Int8PtrTy); 347 void Emit(CodeGenFunction &CGF, Flags flags) override { 348 CGF.EmitNounwindRuntimeCall(getFreeExceptionFn(CGF.CGM), exn); 466 static void emitFilterDispatchBlock(CodeGenFunction &CGF, 475 CGF.EmitBlockAfterUses(dispatchBlock) [all...] |
CGOpenCLRuntime.h | 41 /// an entry to CGF's LocalDeclMap for D. The base class does this using 43 virtual void EmitWorkGroupLocalVarDecl(CodeGenFunction &CGF,
|
MicrosoftCXXABI.cpp | 115 void emitVirtualObjectDelete(CodeGenFunction &CGF, const CXXDeleteExpr *DE, 119 void emitRethrow(CodeGenFunction &CGF, bool isNoReturn) override; 120 void emitThrow(CodeGenFunction &CGF, const CXXThrowExpr *E) override; 122 void emitBeginCatch(CodeGenFunction &CGF, const CXXCatchStmt *C) override; 137 void EmitBadTypeidCall(CodeGenFunction &CGF) override; 138 llvm::Value *EmitTypeid(CodeGenFunction &CGF, QualType SrcRecordTy, 145 llvm::Value *EmitDynamicCastCall(CodeGenFunction &CGF, Address Value, 150 llvm::Value *EmitDynamicCastToVoid(CodeGenFunction &CGF, Address Value, 154 bool EmitBadCastCall(CodeGenFunction &CGF) override; 160 GetVirtualBaseClassOffset(CodeGenFunction &CGF, Address This [all...] |
TargetInfo.h | 97 virtual bool initDwarfEHRegSizeTable(CodeGen::CodeGenFunction &CGF, 107 virtual llvm::Value *decodeReturnAddress(CodeGen::CodeGenFunction &CGF, 117 virtual llvm::Value *encodeReturnAddress(CodeGen::CodeGenFunction &CGF, 127 virtual llvm::Type *adjustInlineAsmType(CodeGen::CodeGenFunction &CGF, 135 CodeGen::CodeGenFunction &CGF, CodeGen::LValue ReturnValue,
|
CGObjCMac.cpp | [all...] |
CGExprCXX.cpp | 28 CodeGenFunction &CGF, const CXXMethodDecl *MD, llvm::Value *Callee, 42 CGF.EmitTypeCheck( 45 CallLoc, This, CGF.getContext().getRecordType(MD->getParent())); 48 Args.add(RValue::get(This), MD->getThisType(CGF.getContext())); 62 CGF.EmitCallArgs(Args, FPT, drop_begin(CE->arguments(), ArgsToSkip), 350 static void EmitNullBaseClassInitialization(CodeGenFunction &CGF, 356 DestPtr = CGF.Builder.CreateElementBitCast(DestPtr, CGF.Int8Ty); 358 const ASTRecordLayout &Layout = CGF.getContext().getASTRecordLayout(Base); 368 CharUnits VBPtrWidth = CGF.getPointerSize() [all...] |
CGObjC.cpp | 33 tryEmitARCRetainScalarExpr(CodeGenFunction &CGF, const Expr *e); 34 static RValue AdjustObjCObjectType(CodeGenFunction &CGF, 251 static RValue AdjustObjCObjectType(CodeGenFunction &CGF, QualType ExpT, 257 llvm::Type *ExpLLVMTy = CGF.ConvertType(ExpT); 262 return RValue::get(CGF.Builder.CreateBitCast(Result.getScalarVal(), 489 void Emit(CodeGenFunction &CGF, Flags flags) override { 490 const ObjCMethodDecl *method = cast<ObjCMethodDecl>(CGF.CurCodeDecl); 499 llvm::Value *self = CGF.LoadObjCSelf(); 502 CGF.CGM.getObjCRuntime().GenerateMessageSendSuper(CGF, ReturnValueSlot() [all...] |
TargetInfo.cpp | 89 Address ABIInfo::EmitMSVAArg(CodeGenFunction &CGF, Address VAListAddr, 191 static llvm::Value *emitRoundPointerUpToAlignment(CodeGenFunction &CGF, 196 PtrAsInt = CGF.Builder.CreatePtrToInt(PtrAsInt, CGF.IntPtrTy); 197 PtrAsInt = CGF.Builder.CreateAdd(PtrAsInt, 198 llvm::ConstantInt::get(CGF.IntPtrTy, Align.getQuantity() - 1)); 199 PtrAsInt = CGF.Builder.CreateAnd(PtrAsInt, 200 llvm::ConstantInt::get(CGF.IntPtrTy, -Align.getQuantity())); 201 PtrAsInt = CGF.Builder.CreateIntToPtr(PtrAsInt, 221 static Address emitVoidPtrDirectVAArg(CodeGenFunction &CGF, [all...] |
CGCUDANV.cpp | 65 void emitDeviceStubBody(CodeGenFunction &CGF, FunctionArgList &Args); 70 void emitDeviceStub(CodeGenFunction &CGF, FunctionArgList &Args) override; 111 void CGNVCUDARuntime::emitDeviceStub(CodeGenFunction &CGF, 113 EmittedKernels.push_back(CGF.CurFn); 114 emitDeviceStubBody(CGF, Args); 117 void CGNVCUDARuntime::emitDeviceStubBody(CodeGenFunction &CGF, 124 llvm::Value *V = CGF.GetAddrOfLocalVar(*I).getPointer(); 131 llvm::BasicBlock *EndBlock = CGF.createBasicBlock("setup.end"); 137 llvm::BasicBlock *NextBlock = CGF.createBasicBlock("setup.next"); 138 Args[0] = CGF.Builder.CreatePointerCast(ArgValues[I], VoidPtrTy) [all...] |
CGDeclCXX.cpp | 26 static void EmitDeclInit(CodeGenFunction &CGF, const VarDecl &D, 33 LValue lv = CGF.MakeAddrLValue(DeclPtr, type); 36 switch (CGF.getEvaluationKind(type)) { 38 CodeGenModule &CGM = CGF.CGM; 40 CGM.getObjCRuntime().EmitObjCGlobalAssign(CGF, CGF.EmitScalarExpr(Init), 43 CGM.getObjCRuntime().EmitObjCWeakAssign(CGF, CGF.EmitScalarExpr(Init), 46 CGF.EmitScalarInit(Init, &D, lv, false); 50 CGF.EmitComplexExprIntoLValue(Init, lv, /*isInit*/ true) [all...] |