|
reference, declaration → definition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced
|
Declarations
tools/clang/lib/CodeGen/ABIInfo.h 34 class CodeGenFunction;
tools/clang/lib/CodeGen/CGBuilder.h 20 class CodeGenFunction;
tools/clang/lib/CodeGen/CGCUDARuntime.h 32 class CodeGenFunction;
tools/clang/lib/CodeGen/CGCXXABI.h 38 class CodeGenFunction;
tools/clang/lib/CodeGen/CGCleanup.h 33 class CodeGenFunction;
tools/clang/lib/CodeGen/CGDebugInfo.h 48 class CodeGenFunction;
tools/clang/lib/CodeGen/CGObjCRuntime.h 36 class CodeGenFunction;
tools/clang/lib/CodeGen/CGOpenCLRuntime.h 32 class CodeGenFunction;
tools/clang/lib/CodeGen/CGOpenMPRuntime.h 49 class CodeGenFunction;
tools/clang/lib/CodeGen/CodeGenModule.h 84 class CodeGenFunction;
tools/clang/lib/CodeGen/EHScopeStack.h 28 class CodeGenFunction;
tools/clang/lib/CodeGen/TargetInfo.h 38 class CodeGenFunction;
References
include/llvm/ADT/Optional.h 87 template <class... Args> void emplace(Args &&... args) {
237 template <typename... ArgTypes> void emplace(ArgTypes &&... Args) {
tools/clang/lib/CodeGen/ABIInfo.h 85 virtual CodeGen::Address EmitVAArg(CodeGen::CodeGenFunction &CGF,
93 virtual CodeGen::Address EmitMSVAArg(CodeGen::CodeGenFunction &CGF,
tools/clang/lib/CodeGen/CGAtomic.cpp 31 CodeGenFunction &CGF;
43 AtomicInfo(CodeGenFunction &CGF, LValue &lvalue)
302 static RValue emitAtomicLibcall(CodeGenFunction &CGF,
357 static void emitAtomicCmpXchg(CodeGenFunction &CGF, AtomicExpr *E, bool IsWeak,
407 static void emitAtomicCmpXchgFailureSet(CodeGenFunction &CGF, AtomicExpr *E,
491 static void EmitAtomicOp(CodeGenFunction &CGF, AtomicExpr *E, Address Dest,
656 EmitValToTemp(CodeGenFunction &CGF, Expr *E) {
663 static void EmitAtomicOp(CodeGenFunction &CGF, AtomicExpr *Expr, Address Dest,
722 AddDirectArgument(CodeGenFunction &CGF, CallArgList &Args,
1682 EmitAtomicUpdateValue(CodeGenFunction &CGF, AtomicInfo &Atomics, RValue OldRVal,
1797 static void EmitAtomicUpdateValue(CodeGenFunction &CGF, AtomicInfo &Atomics,
tools/clang/lib/CodeGen/CGBlocks.cpp 412 CodeGenFunction *CGF,
502 static QualType getCaptureFieldType(const CodeGenFunction &CGF,
521 static void computeBlockInfo(CodeGenModule &CGM, CodeGenFunction *CGF,
780 static void enterBlockScope(CodeGenFunction &CGF, BlockDecl *block) {
820 CodeGenFunction::Destroyer *destroyer;
833 destroyer = CodeGenFunction::emitARCIntrinsicUse;
835 destroyer = CodeGenFunction::destroyARCStrongImprecise;
935 CodeGenFunction BlockCGF{CGM, true};
1373 CodeGenFunction::DeclMapTy LocalDeclMap;
1786 void Emit(CodeGenFunction &CGF, Flags flags) override {
1865 if (CodeGenFunction::cxxDestructorCanThrow(CaptureTy))
1886 FuncStr = CodeGenFunction::getNonTrivialDestructorStr(
1891 FuncStr = CodeGenFunction::getNonTrivialCopyConstructorStr(
1931 VarDecl *Var, CodeGenFunction &CGF) {
1941 CodeGenFunction::Destroyer *Destroyer =
1943 ? CodeGenFunction::destroyARCStrongImprecise
2241 CodeGenFunction::RunCleanupsScope cleanups(*this);
2272 void emitCopy(CodeGenFunction &CGF, Address destField,
2288 void emitDispose(CodeGenFunction &CGF, Address field) override {
2305 void emitCopy(CodeGenFunction &CGF, Address destField,
2310 void emitDispose(CodeGenFunction &CGF, Address field) override {
2326 void emitCopy(CodeGenFunction &CGF, Address destField,
2346 void emitDispose(CodeGenFunction &CGF, Address field) override {
2363 void emitCopy(CodeGenFunction &CGF, Address destField,
2373 void emitDispose(CodeGenFunction &CGF, Address field) override {
2395 void emitCopy(CodeGenFunction &CGF, Address destField,
2401 void emitDispose(CodeGenFunction &CGF, Address field) override {
2421 void emitCopy(CodeGenFunction &CGF, Address destField,
2431 void emitDispose(CodeGenFunction &CGF, Address field) override {
2444 generateByrefCopyHelper(CodeGenFunction &CGF, const BlockByrefInfo &byrefInfo,
2515 CodeGenFunction CGF(CGM);
2521 generateByrefDisposeHelper(CodeGenFunction &CGF,
2578 CodeGenFunction CGF(CGM);
tools/clang/lib/CodeGen/CGBuilder.h 28 explicit CGBuilderInserter(CodeGenFunction *CGF) : CGF(CGF) {}
36 CodeGenFunction *CGF = nullptr;
tools/clang/lib/CodeGen/CGBuiltin.cpp 48 static void initializeAlloca(CodeGenFunction &CGF, AllocaInst *AI, Value *Size, unsigned AlignmentInBytes) {
93 static Value *EmitToInt(CodeGenFunction &CGF, llvm::Value *V,
104 static Value *EmitFromInt(CodeGenFunction &CGF, llvm::Value *V,
118 CodeGenFunction &CGF, llvm::AtomicRMWInst::BinOp Kind, const CallExpr *E,
145 static Value *EmitNontemporalStore(CodeGenFunction &CGF, const CallExpr *E) {
159 static Value *EmitNontemporalLoad(CodeGenFunction &CGF, const CallExpr *E) {
167 static RValue EmitBinaryAtomic(CodeGenFunction &CGF,
176 static RValue EmitBinaryAtomicPost(CodeGenFunction &CGF,
225 static Value *MakeAtomicCmpXchgValue(CodeGenFunction &CGF, const CallExpr *E,
269 Value *EmitAtomicCmpXchgForMSIntrin(CodeGenFunction &CGF, const CallExpr *E,
295 static Value *EmitAtomicIncrementValue(CodeGenFunction &CGF, const CallExpr *E,
308 static Value *EmitAtomicDecrementValue(CodeGenFunction &CGF, const CallExpr *E,
322 static Value *EmitISOVolatileLoad(CodeGenFunction &CGF, const CallExpr *E) {
335 static Value *EmitISOVolatileStore(CodeGenFunction &CGF, const CallExpr *E) {
351 static Value *emitUnaryBuiltin(CodeGenFunction &CGF,
361 static Value *emitBinaryBuiltin(CodeGenFunction &CGF,
372 static Value *emitTernaryBuiltin(CodeGenFunction &CGF,
384 static Value *emitFPIntBuiltin(CodeGenFunction &CGF,
395 static Value *emitFPToIntRoundBuiltin(CodeGenFunction &CGF,
407 static Value *EmitFAbs(CodeGenFunction &CGF, Value *V) {
416 static Value *EmitSignBit(CodeGenFunction &CGF, Value *V) {
445 static RValue emitLibraryCall(CodeGenFunction &CGF, const FunctionDecl *FD,
460 static llvm::Value *EmitOverflowIntrinsic(CodeGenFunction &CGF,
475 static Value *emitRangedBuiltin(CodeGenFunction &CGF,
695 static llvm::Value *EmitX86BitTestIntrinsic(CodeGenFunction &CGF,
742 static llvm::Value *EmitBitTestIntrinsic(CodeGenFunction &CGF,
831 static RValue EmitMSVCRTSetJmp(CodeGenFunction &CGF, MSVCSetJmpKind SJKind,
1086 void Emit(CodeGenFunction &CGF, Flags flags) override {
1309 EmitCheckedMixedSignMultiply(CodeGenFunction &CGF, const clang::Expr *Op1,
1396 static llvm::Value *dumpRecord(CodeGenFunction &CGF, QualType RType,
4230 static Value *EmitTargetArchBuiltinExpr(CodeGenFunction *CGF,
4285 static llvm::VectorType *GetNeonType(CodeGenFunction *CGF,
4320 static llvm::VectorType *GetFloatNeonType(CodeGenFunction *CGF,
5172 static Value *EmitCommonNeonSISDBuiltinExpr(CodeGenFunction &CGF,
5834 static Value *packTBLDVectorList(CodeGenFunction &CGF, ArrayRef<Value *> Ops,
5910 static Value *EmitSpecialRegisterBuiltin(CodeGenFunction &CGF,
6890 static Value *EmitAArch64TblBuiltinExpr(CodeGenFunction &CGF, unsigned BuiltinID,
9490 static Value *getMaskVecValue(CodeGenFunction &CGF, Value *Mask,
9510 static Value *EmitX86MaskedStore(CodeGenFunction &CGF,
9523 static Value *EmitX86MaskedLoad(CodeGenFunction &CGF,
9535 static Value *EmitX86ExpandLoad(CodeGenFunction &CGF,
9552 static Value *EmitX86CompressExpand(CodeGenFunction &CGF,
9566 static Value *EmitX86CompressStore(CodeGenFunction &CGF,
9583 static Value *EmitX86MaskLogic(CodeGenFunction &CGF, Instruction::BinaryOps Opc,
9597 static Value *EmitX86FunnelShift(CodeGenFunction &CGF, Value *Op0, Value *Op1,
9615 static Value *EmitX86vpcom(CodeGenFunction &CGF, ArrayRef<Value *> Ops,
9655 static Value *EmitX86Select(CodeGenFunction &CGF,
9668 static Value *EmitX86ScalarSelect(CodeGenFunction &CGF,
9683 static Value *EmitX86MaskedCompareResult(CodeGenFunction &CGF, Value *Cmp,
9706 static Value *EmitX86MaskedCompare(CodeGenFunction &CGF, unsigned CC,
9740 static Value *EmitX86ConvertToMask(CodeGenFunction &CGF, Value *In) {
9745 static Value *EmitX86ConvertIntToFp(CodeGenFunction &CGF,
9764 static Value *EmitX86Abs(CodeGenFunction &CGF, ArrayRef<Value *> Ops) {
9774 static Value *EmitX86MinMax(CodeGenFunction &CGF, ICmpInst::Predicate Pred,
9784 static Value *EmitX86FMAExpr(CodeGenFunction &CGF, ArrayRef<Value *> Ops,
9889 EmitScalarFMAExpr(CodeGenFunction &CGF, MutableArrayRef<Value *> Ops,
9929 static Value *EmitX86Muldq(CodeGenFunction &CGF, bool IsSigned,
9958 static Value *EmitX86Ternlog(CodeGenFunction &CGF, bool ZeroMask,
9986 static Value *EmitX86SExtMask(CodeGenFunction &CGF, Value *Op,
9994 static Value *EmitX86AddSubSatExpr(CodeGenFunction &CGF,
10011 static Value *EmitX86CvtBF16ToFloatExpr(CodeGenFunction &CGF,
13018 static Value *EmitSystemZIntrinsicWithCC(CodeGenFunction &CGF,
tools/clang/lib/CodeGen/CGCUDANV.cpp 118 void emitDeviceStubBodyLegacy(CodeGenFunction &CGF, FunctionArgList &Args);
119 void emitDeviceStubBodyNew(CodeGenFunction &CGF, FunctionArgList &Args);
125 void emitDeviceStub(CodeGenFunction &CGF, FunctionArgList &Args) override;
220 void CGNVCUDARuntime::emitDeviceStub(CodeGenFunction &CGF,
248 void CGNVCUDARuntime::emitDeviceStubBodyNew(CodeGenFunction &CGF,
345 void CGNVCUDARuntime::emitDeviceStubBodyLegacy(CodeGenFunction &CGF,
tools/clang/lib/CodeGen/CGCUDARuntime.cpp 26 RValue CGCUDARuntime::EmitCUDAKernelCallExpr(CodeGenFunction &CGF,
32 CodeGenFunction::ConditionalEvaluation eval(CGF);
tools/clang/lib/CodeGen/CGCUDARuntime.h 52 virtual RValue EmitCUDAKernelCallExpr(CodeGenFunction &CGF,
57 virtual void emitDeviceStub(CodeGenFunction &CGF, FunctionArgList &Args) = 0;
tools/clang/lib/CodeGen/CGCXX.cpp 246 static CGCallee BuildAppleKextVirtualCall(CodeGenFunction &CGF,
tools/clang/lib/CodeGen/CGCXXABI.cpp 22 void CGCXXABI::ErrorUnsupportedABI(CodeGenFunction &CGF, StringRef S) {
41 CodeGenFunction &CGF, const Expr *E, Address This,
58 CGCXXABI::EmitMemberDataPointerAddress(CodeGenFunction &CGF, const Expr *E,
67 llvm::Value *CGCXXABI::EmitMemberPointerConversion(CodeGenFunction &CGF,
80 CGCXXABI::EmitMemberPointerComparison(CodeGenFunction &CGF,
90 CGCXXABI::EmitMemberPointerIsNotNull(CodeGenFunction &CGF,
121 void CGCXXABI::buildThisParam(CodeGenFunction &CGF, FunctionArgList ¶ms) {
145 llvm::Value *CGCXXABI::loadIncomingCXXThis(CodeGenFunction &CGF) {
150 void CGCXXABI::setCXXABIThisValue(CodeGenFunction &CGF, llvm::Value *ThisPtr) {
156 void CGCXXABI::EmitReturnFromThunk(CodeGenFunction &CGF,
172 Address CGCXXABI::InitializeArrayCookie(CodeGenFunction &CGF,
201 void CGCXXABI::ReadArrayCookie(CodeGenFunction &CGF, Address ptr,
223 llvm::Value *CGCXXABI::readArrayCookieImpl(CodeGenFunction &CGF,
274 CGCXXABI::EmitCtorCompleteObjectHandler(CodeGenFunction &CGF,
302 CGCXXABI::emitTerminateForUnexpectedException(CodeGenFunction &CGF,
tools/clang/lib/CodeGen/CGCXXABI.h 52 ImplicitParamDecl *getThisDecl(CodeGenFunction &CGF) {
55 llvm::Value *getThisValue(CodeGenFunction &CGF) {
58 Address getThisAddress(CodeGenFunction &CGF) {
63 void ErrorUnsupportedABI(CodeGenFunction &CGF, StringRef S);
68 ImplicitParamDecl *&getStructorImplicitParamDecl(CodeGenFunction &CGF) {
71 llvm::Value *&getStructorImplicitParamValue(CodeGenFunction &CGF) {
76 llvm::Value *loadIncomingCXXThis(CodeGenFunction &CGF);
78 void setCXXABIThisValue(CodeGenFunction &CGF, llvm::Value *ThisPtr);
155 CodeGenFunction &CGF, const Expr *E, Address This,
161 EmitMemberDataPointerAddress(CodeGenFunction &CGF, const Expr *E,
167 virtual llvm::Value *EmitMemberPointerConversion(CodeGenFunction &CGF,
200 EmitMemberPointerComparison(CodeGenFunction &CGF,
208 EmitMemberPointerIsNotNull(CodeGenFunction &CGF,
227 virtual void emitVirtualObjectDelete(CodeGenFunction &CGF,
231 virtual void emitRethrow(CodeGenFunction &CGF, bool isNoReturn) = 0;
232 virtual void emitThrow(CodeGenFunction &CGF, const CXXThrowExpr *E) = 0;
240 virtual void emitBeginCatch(CodeGenFunction &CGF, const CXXCatchStmt *C) = 0;
243 emitTerminateForUnexpectedException(CodeGenFunction &CGF,
253 virtual void EmitBadTypeidCall(CodeGenFunction &CGF) = 0;
254 virtual llvm::Value *EmitTypeid(CodeGenFunction &CGF, QualType SrcRecordTy,
262 EmitDynamicCastCall(CodeGenFunction &CGF, Address Value,
266 virtual llvm::Value *EmitDynamicCastToVoid(CodeGenFunction &CGF,
271 virtual bool EmitBadCastCall(CodeGenFunction &CGF) = 0;
273 virtual llvm::Value *GetVirtualBaseClassOffset(CodeGenFunction &CGF,
278 virtual llvm::BasicBlock *EmitCtorCompleteObjectHandler(CodeGenFunction &CGF,
284 initializeHiddenVirtualInheritanceMembers(CodeGenFunction &CGF,
341 adjustThisArgumentForVirtualFunctionCall(CodeGenFunction &CGF, GlobalDecl GD,
347 void buildThisParam(CodeGenFunction &CGF, FunctionArgList &Params);
356 virtual void addImplicitStructorParams(CodeGenFunction &CGF, QualType &ResTy,
366 virtual void EmitInstanceFunctionProlog(CodeGenFunction &CGF) = 0;
373 addImplicitConstructorArgs(CodeGenFunction &CGF, const CXXConstructorDecl *D,
378 virtual void EmitDestructorCall(CodeGenFunction &CGF,
389 isVirtualOffsetNeededForVTableField(CodeGenFunction &CGF,
390 CodeGenFunction::VPtr Vptr) = 0;
403 getVTableAddressPointInStructor(CodeGenFunction &CGF, const CXXRecordDecl *RD,
419 virtual CGCallee getVirtualFunctionPointer(CodeGenFunction &CGF,
428 virtual llvm::Value *EmitVirtualDestructorCall(CodeGenFunction &CGF,
434 virtual void adjustCallArgsForDestructorThunk(CodeGenFunction &CGF,
447 virtual llvm::Value *performThisAdjustment(CodeGenFunction &CGF,
451 virtual llvm::Value *performReturnAdjustment(CodeGenFunction &CGF,
455 virtual void EmitReturnFromThunk(CodeGenFunction &CGF,
492 virtual Address InitializeArrayCookie(CodeGenFunction &CGF,
511 virtual void ReadArrayCookie(CodeGenFunction &CGF, Address Ptr,
534 virtual llvm::Value *readArrayCookieImpl(CodeGenFunction &IGF, Address ptr,
549 virtual void EmitGuardedInit(CodeGenFunction &CGF, const VarDecl &D,
558 virtual void registerGlobalDtor(CodeGenFunction &CGF, const VarDecl &D,
585 virtual LValue EmitThreadLocalVarDeclLValue(CodeGenFunction &CGF,
597 LoadVTablePtr(CodeGenFunction &CGF, Address This,
614 void Emit(CodeGenFunction &CGF, Flags flags) override {
tools/clang/lib/CodeGen/CGCall.cpp 1001 static void forConstantArrayExpansion(CodeGenFunction &CGF,
1113 static Address CreateTempAllocaForCoercion(CodeGenFunction &CGF, llvm::Type *Ty,
1129 uint64_t DstSize, CodeGenFunction &CGF) {
1165 CodeGenFunction &CGF) {
1218 CodeGenFunction &CGF) {
1269 static void BuildAggStore(CodeGenFunction &CGF, llvm::Value *Val,
1293 CodeGenFunction &CGF) {
1343 static Address emitAddressAtOffset(CodeGenFunction &CGF, Address addr,
2164 static llvm::Value *emitArgumentDemotion(CodeGenFunction &CGF,
2215 void Emit(CodeGenFunction &CGF, Flags flags) override {
2500 if (CodeGenFunction::hasScalarEvaluationKind(Ty)) {
2586 static llvm::Value *tryEmitFusedAutoreleaseOfResult(CodeGenFunction &CGF,
2674 static llvm::Value *tryRemoveRetainOfSelf(CodeGenFunction &CGF,
2713 static llvm::Value *emitAutoreleaseOfResult(CodeGenFunction &CGF,
2731 static llvm::StoreInst *findDominatingStoreToReturnValue(CodeGenFunction &CGF) {
3033 static AggValueSlot createPlaceholderSlot(CodeGenFunction &CGF,
3112 static void emitWriteback(CodeGenFunction &CGF,
3178 static void emitWritebacks(CodeGenFunction &CGF,
3184 static void deactivateArgCleanupsBeforeCall(CodeGenFunction &CGF,
3206 static void emitWritebackArg(CodeGenFunction &CGF, CallArgList &args,
3246 CodeGenFunction::ConditionalEvaluation condEval(CGF);
3334 void CallArgList::allocateArgumentMemory(CodeGenFunction &CGF) {
3342 void CallArgList::freeArgumentMemory(CodeGenFunction &CGF) const {
3502 void Emit(CodeGenFunction &CGF, Flags flags) override {
3516 CodeGenFunction &CGF;
3518 DisableDebugLocationUpdates(CodeGenFunction &CGF, const Expr *E) : CGF(CGF) {
3530 RValue CallArg::getRValue(CodeGenFunction &CGF) const {
3540 void CallArg::copyInto(CodeGenFunction &CGF, Address Addr) const {
4590 CGCallee CGCallee::prepareConcreteCallee(CodeGenFunction &CGF) const {
tools/clang/lib/CodeGen/CGCall.h 214 CGCallee prepareConcreteCallee(CodeGenFunction &CGF) const;
240 RValue getRValue(CodeGenFunction &CGF) const;
257 void copyInto(CodeGenFunction &CGF, Address A) const;
335 void allocateArgumentMemory(CodeGenFunction &CGF);
337 void freeArgumentMemory(CodeGenFunction &CGF) const;
tools/clang/lib/CodeGen/CGClass.cpp 227 ApplyNonVirtualAndVirtualOffset(CodeGenFunction &CGF, Address addr,
492 void Emit(CodeGenFunction &CGF, Flags flags) override {
533 static void EmitBaseInitializer(CodeGenFunction &CGF,
592 static void EmitLValueForAnyFieldInitialization(CodeGenFunction &CGF,
606 static void EmitMemberInitializer(CodeGenFunction &CGF,
882 explicit CopyingValueRepresentation(CodeGenFunction &CGF)
891 CodeGenFunction &CGF;
899 FieldMemcpyizer(CodeGenFunction &CGF, const CXXRecordDecl *ClassDecl,
975 CodeGenFunction &CGF;
1035 static const VarDecl *getTrivialCopySource(CodeGenFunction &CGF,
1068 ConstructorMemcpyizer(CodeGenFunction &CGF, const CXXConstructorDecl *CD,
1211 AssignmentMemcpyizer(CodeGenFunction &CGF, const CXXMethodDecl *AD,
1402 static bool CanSkipVTablePointerInitialization(CodeGenFunction &CGF,
1550 llvm::Value *LoadThisForDtorDelete(CodeGenFunction &CGF,
1561 void Emit(CodeGenFunction &CGF, Flags flags) override {
1570 void EmitConditionalDtorDeleteCall(CodeGenFunction &CGF,
1605 void Emit(CodeGenFunction &CGF, Flags flags) override {
1613 CodeGenFunction::Destroyer *destroyer;
1617 DestroyField(const FieldDecl *field, CodeGenFunction::Destroyer *destroyer,
1622 void Emit(CodeGenFunction &CGF, Flags flags) override {
1635 static void EmitSanitizerDtorCallback(CodeGenFunction &CGF, llvm::Value *Ptr,
1637 CodeGenFunction::SanitizerScope SanScope(&CGF);
1661 void Emit(CodeGenFunction &CGF, Flags flags) override {
1705 void PoisonMembers(CodeGenFunction &CGF, unsigned layoutStartOffset,
1747 void Emit(CodeGenFunction &CGF, Flags flags) override {
2017 void CodeGenFunction::destroyCXXObject(CodeGenFunction &CGF,
2079 static bool canEmitDelegateCallArgs(CodeGenFunction &CGF,
2115 EmitTypeCheck(CodeGenFunction::TCK_ConstructorCall, Loc, This.getPointer(),
2374 void Emit(CodeGenFunction &CGF, Flags flags) override {
2432 void Emit(CodeGenFunction &CGF, Flags flags) override {
2505 CodeGenFunction::VPtrsVector
2507 CodeGenFunction::VPtrsVector VPtrsResult;
2642 EmitVTablePtrCheckForCall(RD, VTable, CodeGenFunction::CFITCK_VCall, Loc);
tools/clang/lib/CodeGen/CGCleanup.cpp 35 DominatingValue<RValue>::saved_type::save(CodeGenFunction &CGF, RValue rv) {
51 CodeGenFunction::ComplexPairTy V = rv.getComplexVal();
76 RValue DominatingValue<RValue>::saved_type::restore(CodeGenFunction &CGF) {
320 static void ResolveAllBranchFixups(CodeGenFunction &CGF,
358 static llvm::SwitchInst *TransitionToCleanupSwitch(CodeGenFunction &CGF,
505 static llvm::BasicBlock *CreateNormalEntry(CodeGenFunction &CGF,
521 static llvm::BasicBlock *SimplifyCleanupEntry(CodeGenFunction &CGF,
555 static void EmitCleanup(CodeGenFunction &CGF,
604 static void destroyOptimisticNormalEntry(CodeGenFunction &CGF,
1170 static void SetupCleanupBlockActivation(CodeGenFunction &CGF,
tools/clang/lib/CodeGen/CGCleanup.h 612 static const EHPersonality &get(CodeGenFunction &CGF);
tools/clang/lib/CodeGen/CGCoroutine.cpp 58 CodeGenFunction::JumpDest CleanupJD;
62 CodeGenFunction::JumpDest FinalJD;
89 static void createCoroData(CodeGenFunction &CGF,
90 CodeGenFunction::CGCoroInfo &CurCoro,
175 static LValueOrRValue emitSuspendExpression(CodeGenFunction &CGF, CGCoroData &Coro,
182 CodeGenFunction::OpaqueValueMappingData::bind(CGF, S.getOpaqueValue(), E);
345 CodeGenFunction::DeclMapTy SavedLocals;
346 CodeGenFunction::DeclMapTy& LocalDeclMap;
348 ParamReferenceReplacerRAII(CodeGenFunction::DeclMapTy &LocalDeclMap)
397 void Emit(CodeGenFunction &CGF, Flags flags) override {
429 void Emit(CodeGenFunction &CGF, Flags) override {
470 CodeGenFunction &CGF;
475 CodeGenFunction::AutoVarEmission GroEmission;
477 GetReturnObjectManager(CodeGenFunction &CGF, const CoroutineBodyStmt &S)
479 GroEmission(CodeGenFunction::AutoVarEmission::invalid()) {}
534 static void emitBodyAndFallthrough(CodeGenFunction &CGF,
604 CodeGenFunction::RunCleanupsScope ResumeScope(*this);
tools/clang/lib/CodeGen/CGDebugInfo.cpp 79 ApplyDebugLocation::ApplyDebugLocation(CodeGenFunction &CGF,
85 ApplyDebugLocation::ApplyDebugLocation(CodeGenFunction &CGF,
121 ApplyDebugLocation::ApplyDebugLocation(CodeGenFunction &CGF, const Expr *E)
126 ApplyDebugLocation::ApplyDebugLocation(CodeGenFunction &CGF, llvm::DebugLoc Loc)
144 ApplyInlineDebugLocation::ApplyInlineDebugLocation(CodeGenFunction &CGF,
tools/clang/lib/CodeGen/CGDebugInfo.h 714 ApplyDebugLocation(CodeGenFunction &CGF, bool DefaultToEmpty,
718 CodeGenFunction *CGF;
722 ApplyDebugLocation(CodeGenFunction &CGF, SourceLocation TemporaryLocation);
723 ApplyDebugLocation(CodeGenFunction &CGF, const Expr *E);
724 ApplyDebugLocation(CodeGenFunction &CGF, llvm::DebugLoc Loc);
742 static ApplyDebugLocation CreateArtificial(CodeGenFunction &CGF) {
749 CreateDefaultArtificial(CodeGenFunction &CGF,
759 static ApplyDebugLocation CreateEmpty(CodeGenFunction &CGF) {
767 CodeGenFunction *CGF;
773 ApplyInlineDebugLocation(CodeGenFunction &CGF, GlobalDecl InlinedFn);
tools/clang/lib/CodeGen/CGDecl.cpp 456 CodeGenFunction::Destroyer *destroyer,
463 CodeGenFunction::Destroyer *destroyer;
466 void Emit(CodeGenFunction &CGF, Flags flags) override {
484 void Emit(CodeGenFunction &CGF, Flags flags) override {
516 void emitDestructorCall(CodeGenFunction &CGF) {
528 void emitDestructorCall(CodeGenFunction &CGF) {
536 void Emit(CodeGenFunction &CGF, Flags flags) override {
547 void Emit(CodeGenFunction &CGF, Flags flags) override {
567 void Emit(CodeGenFunction &CGF, Flags flags) override {
595 static void EmitAutoVarWithLifetime(CodeGenFunction &CGF, const VarDecl &var,
607 CodeGenFunction::Destroyer *destroyer =
609 ? CodeGenFunction::destroyARCStrongPrecise
610 : CodeGenFunction::destroyARCStrongImprecise);
625 CodeGenFunction::destroyARCWeak,
663 static bool tryEmitARCCopyWeakInit(CodeGenFunction &CGF,
713 static void drillIntoBlockVariable(CodeGenFunction &CGF,
761 CodeGenFunction::RunCleanupsScope Scope(*this);
1316 SmallVector<CodeGenFunction::VlaSizePair, 4> Dimensions;
1374 CodeGenFunction::AutoVarEmission
1912 const CodeGenFunction::AutoVarEmission &emission,
1924 CodeGenFunction::Destroyer *destroyer = nullptr;
1951 destroyer = CodeGenFunction::destroyARCStrongImprecise;
1958 destroyer = CodeGenFunction::destroyNonTrivialCStruct;
2025 CodeGenFunction::Destroyer *
2193 static void emitPartialArrayDestroy(CodeGenFunction &CGF,
2196 CodeGenFunction::Destroyer *destroyer) {
2229 CodeGenFunction::Destroyer *Destroyer;
2234 CodeGenFunction::Destroyer *destroyer)
2239 void Emit(CodeGenFunction &CGF, Flags flags) override {
2252 CodeGenFunction::Destroyer *Destroyer;
2259 CodeGenFunction::Destroyer *destroyer)
2264 void Emit(CodeGenFunction &CGF, Flags flags) override {
2337 void Emit(CodeGenFunction &CGF, Flags flags) override {
2521 CodeGenFunction *CGF) {
2528 CodeGenFunction *CGF) {
tools/clang/lib/CodeGen/CGDeclCXX.cpp 27 static void EmitDeclInit(CodeGenFunction &CGF, const VarDecl &D,
68 static void EmitDeclDestroy(CodeGenFunction &CGF, const VarDecl &D,
148 static void EmitDeclInvariant(CodeGenFunction &CGF, const VarDecl &D,
243 CodeGenFunction CGF(CGM);
tools/clang/lib/CodeGen/CGException.cpp 229 const EHPersonality &EHPersonality::get(CodeGenFunction &CGF) {
356 static llvm::Constant *getCatchAllValue(CodeGenFunction &CGF) {
367 void Emit(CodeGenFunction &CGF, Flags flags) override {
484 static void emitFilterDispatchBlock(CodeGenFunction &CGF,
896 static void emitCatchPadBlock(CodeGenFunction &CGF, EHCatchScope &CatchScope) {
939 static void emitWasmCatchPadBlock(CodeGenFunction &CGF,
1047 static void emitCatchDispatchBlock(CodeGenFunction &CGF,
1276 void Emit(CodeGenFunction &CGF, Flags flags) override {
1303 void Emit(CodeGenFunction &CGF, Flags flags) override {
1363 void CodeGenFunction::FinallyInfo::enter(CodeGenFunction &CGF, const Stmt *body,
1416 void CodeGenFunction::FinallyInfo::exit(CodeGenFunction &CGF) {
1619 void Emit(CodeGenFunction &CGF, Flags F) override {
1655 CodeGenFunction &ParentCGF;
1659 CaptureFinder(CodeGenFunction &ParentCGF, const VarDecl *ParentThis)
1711 Address CodeGenFunction::recoverAddrOfEscapedLocal(CodeGenFunction &ParentCGF,
1751 void CodeGenFunction::EmitCapturedLocals(CodeGenFunction &ParentCGF,
1833 void CodeGenFunction::startOutlinedSEHHelper(CodeGenFunction &ParentCGF,
1895 CodeGenFunction::GenerateSEHFilterFunction(CodeGenFunction &ParentCGF,
1912 CodeGenFunction::GenerateSEHFinallyFunction(CodeGenFunction &ParentCGF,
1925 void CodeGenFunction::EmitSEHExceptionCodeSave(CodeGenFunction &ParentCGF,
1991 CodeGenFunction HelperCGF(CGM, /*suppressNewContext=*/true);
tools/clang/lib/CodeGen/CGExpr.cpp 254 pushTemporaryCleanup(CodeGenFunction &CGF, const MaterializeTemporaryExpr *M,
286 CodeGenFunction::Destroyer *Destroy;
293 Destroy = Precise ? &CodeGenFunction::destroyARCStrongPrecise
294 : &CodeGenFunction::destroyARCStrongImprecise;
299 Destroy = &CodeGenFunction::destroyARCWeak;
339 CodeGenFunction::destroyCXXObject, CGF.getLangOpts().Exceptions,
354 CodeGenFunction::destroyCXXObject,
361 CodeGenFunction::destroyCXXObject,
370 static Address createReferenceTemporary(CodeGenFunction &CGF,
928 CodeGenFunction &CGF, const Expr *Base, QualType &IndexedType) {
987 CodeGenFunction::ComplexPairTy CodeGenFunction::
1021 CodeGenFunction *CGF) {
1089 CodeGenFunction::CFITCK_UnrelatedCast,
1432 CodeGenFunction::ConstantEmission
1495 static DeclRefExpr *tryToConvertMemberExprToDeclRefExpr(CodeGenFunction &CGF,
1507 CodeGenFunction::ConstantEmission
1515 const CodeGenFunction::ConstantEmission &Constant, Expr *E) {
1544 static bool getRangeForType(CodeGenFunction &CGF, QualType Ty,
2285 EmitBitCastOfLValueToProperType(CodeGenFunction &CGF,
2293 CodeGenFunction &CGF, const VarDecl *VD, QualType T, Address Addr,
2300 static Address emitDeclTargetVarDeclLValue(CodeGenFunction &CGF,
2360 static LValue EmitGlobalVarDeclLValue(CodeGenFunction &CGF,
2420 static LValue EmitFunctionDeclLValue(CodeGenFunction &CGF,
2428 static LValue EmitCapturedFieldLValue(CodeGenFunction &CGF, const FieldDecl *FD,
2466 static bool canEmitSpuriousReferenceToVariable(CodeGenFunction &CGF,
2957 static void emitCheckHandlerCall(CodeGenFunction &CGF,
3365 static llvm::Value *emitArraySubscriptGEP(CodeGenFunction &CGF,
3374 CodeGenFunction::NotSubtraction, loc,
3405 static Address emitArraySubscriptGEP(CodeGenFunction &CGF, Address addr,
3607 static Address emitOMPArraySectionBase(CodeGenFunction &CGF, const Expr *Base,
3926 static Address emitAddrOfZeroSizeField(CodeGenFunction &CGF, Address Base,
3940 static Address emitAddrOfFieldStorage(CodeGenFunction &CGF, Address base,
3953 static Address emitPreserveStructAccess(CodeGenFunction &CGF, Address base,
4194 static Optional<LValue> EmitLValueOrThrowExpression(CodeGenFunction &CGF,
4546 static CGCallee EmitDirectCallee(CodeGenFunction &CGF, const FunctionDecl *FD) {
5015 static LValueOrRValue emitPseudoObjectExpr(CodeGenFunction &CGF,
5019 SmallVector<CodeGenFunction::OpaqueValueMappingData, 4> opaques;
5041 typedef CodeGenFunction::OpaqueValueMappingData OVMA;
5044 CodeGenFunction::hasAggregateEvaluationKind(ov->getType())) {
tools/clang/lib/CodeGen/CGExprAgg.cpp 36 CodeGenFunction &CGF;
60 AggExprEmitter(CodeGenFunction &cgf, AggValueSlot Dest, bool IsResultUnused)
171 CodeGenFunction::CXXDefaultArgExprScope Scope(CGF, DAE);
175 CodeGenFunction::CXXDefaultInitExprScope Scope(CGF, DIE);
282 CGF.pushFullExprCleanup<CodeGenFunction::CallLifetimeEnd>(
605 CodeGenFunction::RunCleanupsScope CleanupsScope(CGF);
688 CodeGenFunction::TCK_Load);
911 CodeGenFunction::StmtExprEvaluation eval(CGF);
921 static llvm::Value *EmitCompare(CGBuilderTy &Builder, CodeGenFunction &CGF,
1156 LValue LHS = CGF.EmitCheckedLValue(E->getLHS(), CodeGenFunction::TCK_Store);
1210 CodeGenFunction::OpaqueValueMapping binding(CGF, E);
1212 CodeGenFunction::ConditionalEvaluation eval(CGF);
1342 CodeGenFunction::RunCleanupsScope cleanups(CGF);
1361 static bool isSimpleZero(const Expr *E, CodeGenFunction &CGF) {
1538 CodeGenFunction::FieldConstructionScope FCS(CGF, Dest.getAddress());
1640 CodeGenFunction::OpaqueValueMapping binding(CGF, E->getCommonExpr());
1694 CodeGenFunction::RunCleanupsScope CleanupsScope(CGF);
1695 CodeGenFunction::ArrayInitLoopExprScope Scope(CGF, index);
1746 static CharUnits GetNumNonZeroBytesInInit(const Expr *E, CodeGenFunction &CGF) {
1807 CodeGenFunction &CGF) {
tools/clang/lib/CodeGen/CGExprCXX.cpp 36 commonEmitCXXMemberOrOperatorCall(CodeGenFunction &CGF, const CXXMethodDecl *MD,
331 EmitTypeCheck(CodeGenFunction::TCK_MemberCall, CallLoc, This.getPointer(),
478 static void EmitNullBaseClassInitialization(CodeGenFunction &CGF,
660 static CharUnits CalculateCookiePadding(CodeGenFunction &CGF,
673 static llvm::Value *EmitCXXNewAllocSize(CodeGenFunction &CGF,
935 static void StoreAnyExprIntoOneUnit(CodeGenFunction &CGF, const Expr *Init,
1270 static void EmitNewInitializer(CodeGenFunction &CGF, const CXXNewExpr *E,
1285 static RValue EmitNewDeleteCall(CodeGenFunction &CGF,
1414 void Emit(CodeGenFunction &CGF, Flags flags) override {
1466 static void EnterNewDeleteCleanup(CodeGenFunction &CGF,
1480 static RValue get(CodeGenFunction &, ValueTy V) { return RValue::get(V); }
1481 static RValue get(CodeGenFunction &, RValueTy V) { return V; }
1511 static RValue get(CodeGenFunction &CGF, ValueTy V) {
1710 EmitTypeCheck(CodeGenFunction::TCK_ConstructorCall,
1827 void Emit(CodeGenFunction &CGF, Flags flags) override {
1845 static void EmitDestroyingObjectDelete(CodeGenFunction &CGF,
1857 static void EmitObjectDelete(CodeGenFunction &CGF,
1866 CGF.EmitTypeCheck(CodeGenFunction::TCK_MemberCall,
1962 void Emit(CodeGenFunction &CGF, Flags flags) override {
1970 static void EmitArrayDelete(CodeGenFunction &CGF,
2103 static llvm::Value *EmitTypeidFromVTable(CodeGenFunction &CGF, const Expr *E,
2114 CGF.EmitTypeCheck(CodeGenFunction::TCK_DynamicOperation, E->getExprLoc(),
2167 static llvm::Value *EmitDynamicCastToNull(CodeGenFunction &CGF,
tools/clang/lib/CodeGen/CGExprComplex.cpp 29 typedef CodeGenFunction::ComplexPairTy ComplexPairTy;
44 CodeGenFunction &CGF;
49 ComplexExprEmitter(CodeGenFunction &cgf, bool ir=false, bool ii=false)
125 ComplexPairTy emitConstant(const CodeGenFunction::ConstantEmission &Constant,
139 if (CodeGenFunction::ConstantEmission Constant = CGF.tryEmitAsConstant(E))
151 if (CodeGenFunction::ConstantEmission Constant =
216 CodeGenFunction::CXXDefaultArgExprScope Scope(CGF, DAE);
220 CodeGenFunction::CXXDefaultInitExprScope Scope(CGF, DIE);
225 CodeGenFunction::RunCleanupsScope Scope(CGF);
414 CodeGenFunction::StmtExprEvaluation eval(CGF);
1021 CodeGenFunction::OpaqueValueMapping binding(CGF, E);
1024 CodeGenFunction::ConditionalEvaluation eval(CGF);
tools/clang/lib/CodeGen/CGExprConstant.cpp 885 CodeGenFunction *CGF,
tools/clang/lib/CodeGen/CGExprScalar.cpp 231 CodeGenFunction &CGF;
237 ScalarExprEmitter(CodeGenFunction &cgf, bool ira=false)
254 LValue EmitCheckedLValue(const Expr *E, CodeGenFunction::TypeCheckKind TCK) {
304 Value *V = EmitLoadOfLValue(EmitCheckedLValue(E, CodeGenFunction::TCK_Load),
377 Value *EmitComplexToScalarConversion(CodeGenFunction::ComplexPairTy Src,
505 if (CodeGenFunction::ConstantEmission Constant = CGF.tryEmitAsConstant(E))
652 CodeGenFunction::CXXDefaultArgExprScope Scope(CGF, DAE);
656 CodeGenFunction::CXXDefaultInitExprScope Scope(CGF, DIE);
878 CodeGenFunction::SanitizerScope SanScope(&CGF);
1007 CodeGenFunction::SanitizerScope SanScope(&CGF);
1131 CodeGenFunction::SanitizerScope SanScope(&CGF);
1504 CodeGenFunction::ComplexPairTy Src, QualType SrcTy, QualType DstTy,
1720 if (CodeGenFunction::ConstantEmission Constant = CGF.tryEmitAsConstant(E)) {
2007 CodeGenFunction::CFITCK_UnrelatedCast,
2074 CGF.EmitTypeCheck(CodeGenFunction::TCK_DowncastPointer, CE->getExprLoc(),
2080 /*MayBeNull=*/true, CodeGenFunction::CFITCK_DerivedCast,
2271 CodeGenFunction::ComplexPairTy V = CGF.EmitComplexExpr(E);
2294 CodeGenFunction::StmtExprEvaluation eval(CGF);
2305 CodeGenFunction::RunCleanupsScope Scope(CGF);
2842 LValue LHSLV = EmitCheckedLValue(E->getLHS(), CodeGenFunction::TCK_Store);
2995 CodeGenFunction::SanitizerScope SanScope(&CGF);
3041 CodeGenFunction::SanitizerScope SanScope(&CGF);
3083 CodeGenFunction::SanitizerScope SanScope(&CGF);
3157 static Value *emitPointerArithmetic(CodeGenFunction &CGF,
3279 const CodeGenFunction &CGF, CGBuilderTy &Builder,
3312 const CodeGenFunction &CGF, CGBuilderTy &Builder,
3343 return emitPointerArithmetic(CGF, op, CodeGenFunction::NotSubtraction);
3527 return emitPointerArithmetic(CGF, op, CodeGenFunction::IsSubtraction);
3608 CodeGenFunction::SanitizerScope SanScope(&CGF);
3671 CodeGenFunction::SanitizerScope SanScope(&CGF);
3856 CodeGenFunction::ComplexPairTy LHS, RHS;
3924 LHS = EmitCheckedLValue(E->getLHS(), CodeGenFunction::TCK_Store);
3932 LHS = EmitCheckedLValue(E->getLHS(), CodeGenFunction::TCK_Store);
4003 CodeGenFunction::ConditionalEvaluation eval(CGF);
4087 CodeGenFunction::ConditionalEvaluation eval(CGF);
4139 CodeGenFunction &CGF) {
4157 CodeGenFunction::OpaqueValueMapping binding(CGF, E);
4254 CodeGenFunction::ConditionalEvaluation eval(CGF);
4328 static Value *ConvertVec3AndVec4(CGBuilderTy &Builder, CodeGenFunction &CGF,
tools/clang/lib/CodeGen/CGNonTrivialStruct.cpp 340 CodeGenFunction &CGF = *this->CGF;
466 CodeGenFunction NewCGF(CGM);
482 CodeGenFunction &CallerCGF) {
500 void setCGF(CodeGenFunction *F) { CGF = F; }
502 CodeGenFunction *CGF = nullptr;
800 void CodeGenFunction::destroyNonTrivialCStruct(CodeGenFunction &CGF,
818 bool IsVolatile, CodeGenFunction &CGF,
tools/clang/lib/CodeGen/CGObjC.cpp 33 static RValue AdjustObjCObjectType(CodeGenFunction &CGF,
266 static RValue AdjustObjCObjectType(CodeGenFunction &CGF, QualType ExpT,
371 tryGenerateSpecializedMessageSend(CodeGenFunction &CGF, QualType ResultType,
437 tryEmitSpecializedAllocInit(CodeGenFunction &CGF, const ObjCMessageExpr *OME) {
646 void Emit(CodeGenFunction &CGF, Flags flags) override {
710 static llvm::Value *emitARCRetainLoadOfScalar(CodeGenFunction &CGF,
726 static void emitStructGetterCall(CodeGenFunction &CGF, ObjCIvarDecl *ivar,
992 static void emitCPPObjectAtomicGetterCall(CodeGenFunction &CGF,
1200 static void emitStructSetterCall(CodeGenFunction &CGF, ObjCMethodDecl *OMD,
1244 static void emitCPPObjectAtomicSetterCall(CodeGenFunction &CGF,
1508 CodeGenFunction::Destroyer *destroyer;
1512 CodeGenFunction::Destroyer *destroyer,
1517 void Emit(CodeGenFunction &CGF, Flags flags) override {
1527 static void destroyARCStrongWithStore(CodeGenFunction &CGF,
1534 static void emitCXXDestructMethod(CodeGenFunction &CGF,
1536 CodeGenFunction::RunCleanupsScope scope(CGF);
1549 CodeGenFunction::Destroyer *destroyer = nullptr;
1929 void Emit(CodeGenFunction &CGF, Flags flags) override {
1984 CodeGenFunction &CGF, llvm::Value *value, llvm::Type *returnType,
2009 static llvm::Value *emitARCLoadOperation(CodeGenFunction &CGF, Address addr,
2033 static llvm::Value *emitARCStoreOperation(CodeGenFunction &CGF, Address addr,
2060 static void emitARCCopyOperation(CodeGenFunction &CGF, Address dst, Address src,
2080 static llvm::Value *emitObjCValueOperation(CodeGenFunction &CGF,
2157 static void emitAutoreleasedReturnValueMarker(CodeGenFunction &CGF) {
2586 void CodeGenFunction::destroyARCStrongPrecise(CodeGenFunction &CGF,
2592 void CodeGenFunction::destroyARCStrongImprecise(CodeGenFunction &CGF,
2598 void CodeGenFunction::destroyARCWeak(CodeGenFunction &CGF,
2604 void CodeGenFunction::emitARCIntrinsicUse(CodeGenFunction &CGF, Address addr,
2665 void Emit(CodeGenFunction &CGF, Flags flags) override {
2674 void Emit(CodeGenFunction &CGF, Flags flags) override {
2755 if (CodeGenFunction::ConstantEmission constant = CGF.tryEmitAsConstant(DRE))
2763 typedef llvm::function_ref<llvm::Value *(CodeGenFunction &CGF,
2768 static llvm::Value *emitARCOperationAfterCall(CodeGenFunction &CGF,
2811 static llvm::Value *emitARCRetainCallResult(CodeGenFunction &CGF,
2825 static llvm::Value *emitARCUnsafeClaimCallResult(CodeGenFunction &CGF,
2889 CodeGenFunction &CGF;
2892 ARCExprEmitter(CodeGenFunction &CGF) : CGF(CGF) {}
2925 SmallVector<CodeGenFunction::OpaqueValueMappingData, 4> opaques;
2939 typedef CodeGenFunction::OpaqueValueMappingData OVMA;
3064 CGF.EmitCheckedLValue(e->getLHS(), CodeGenFunction::TCK_Store);
3135 ARCRetainExprEmitter(CodeGenFunction &CGF) : ARCExprEmitter(CGF) {}
3226 static llvm::Value *emitARCRetainLoadOfScalar(CodeGenFunction &CGF,
3313 ARCUnsafeUnretainedExprEmitter(CodeGenFunction &CGF) : ARCExprEmitter(CGF) {}
3358 static llvm::Value *emitARCUnsafeUnretainedScalarExpr(CodeGenFunction &CGF,
3744 CodeGenFunction CGF(*this);
tools/clang/lib/CodeGen/CGObjCGNU.cpp 519 virtual llvm::Value *GetTypedSelector(CodeGenFunction &CGF, Selector Sel,
539 virtual llvm::Value *GetClassNamed(CodeGenFunction &CGF,
545 virtual llvm::Value *LookupIMP(CodeGenFunction &CGF,
554 virtual llvm::Value *LookupIMPSuper(CodeGenFunction &CGF,
579 GenerateMessageSend(CodeGenFunction &CGF, ReturnValueSlot Return,
585 GenerateMessageSendSuper(CodeGenFunction &CGF, ReturnValueSlot Return,
591 llvm::Value *GetClass(CodeGenFunction &CGF,
593 llvm::Value *GetSelector(CodeGenFunction &CGF, Selector Sel) override;
594 Address GetAddrOfSelector(CodeGenFunction &CGF, Selector Sel) override;
595 llvm::Value *GetSelector(CodeGenFunction &CGF,
612 llvm::Value *GenerateProtocolRef(CodeGenFunction &CGF,
626 void EmitTryStmt(CodeGenFunction &CGF,
628 void EmitSynchronizedStmt(CodeGenFunction &CGF,
630 void EmitThrowStmt(CodeGenFunction &CGF,
633 llvm::Value * EmitObjCWeakRead(CodeGenFunction &CGF,
635 void EmitObjCWeakAssign(CodeGenFunction &CGF,
637 void EmitObjCGlobalAssign(CodeGenFunction &CGF,
640 void EmitObjCIvarAssign(CodeGenFunction &CGF, llvm::Value *src,
642 void EmitObjCStrongCastAssign(CodeGenFunction &CGF,
644 void EmitGCMemmoveCollectable(CodeGenFunction &CGF, Address DestPtr,
647 LValue EmitObjCValueForIvar(CodeGenFunction &CGF, QualType ObjectTy,
650 llvm::Value *EmitIvarOffset(CodeGenFunction &CGF,
653 llvm::Value *EmitNSAutoreleasePoolClassRef(CodeGenFunction &CGF) override;
686 llvm::Value *LookupIMP(CodeGenFunction &CGF, llvm::Value *&Receiver,
698 llvm::Value *LookupIMPSuper(CodeGenFunction &CGF, Address ObjCSuper,
748 llvm::Value *LookupIMP(CodeGenFunction &CGF, llvm::Value *&Receiver,
789 llvm::Value *LookupIMPSuper(CodeGenFunction &CGF, Address ObjCSuper,
1196 llvm::Value *LookupIMPSuper(CodeGenFunction &CGF, Address ObjCSuper,
1251 llvm::Value *GetClassNamed(CodeGenFunction &CGF,
1305 llvm::Value *GenerateProtocolRef(CodeGenFunction &CGF,
1424 llvm::Value *GetTypedSelector(CodeGenFunction &CGF, Selector Sel,
1673 llvm::Value *EmitIvarOffset(CodeGenFunction &CGF,
2037 llvm::Value *LookupIMP(CodeGenFunction &CGF, llvm::Value *&Receiver,
2055 llvm::Value *LookupIMPSuper(CodeGenFunction &CGF, Address ObjCSuper,
2068 llvm::Value *GetClassNamed(CodeGenFunction &CGF, const std::string &Name,
2268 llvm::Value *CGObjCGNU::GetClassNamed(CodeGenFunction &CGF,
2288 llvm::Value *CGObjCGNU::GetClass(CodeGenFunction &CGF,
2297 llvm::Value *CGObjCGNU::EmitNSAutoreleasePoolClassRef(CodeGenFunction &CGF) {
2316 llvm::Value *CGObjCGNU::GetTypedSelector(CodeGenFunction &CGF, Selector Sel,
2338 Address CGObjCGNU::GetAddrOfSelector(CodeGenFunction &CGF, Selector Sel) {
2349 llvm::Value *CGObjCGNU::GetSelector(CodeGenFunction &CGF, Selector Sel) {
2353 llvm::Value *CGObjCGNU::GetSelector(CodeGenFunction &CGF,
2493 CGObjCGNU::GenerateMessageSendSuper(CodeGenFunction &CGF,
2613 CGObjCGNU::GenerateMessageSend(CodeGenFunction &CGF,
3031 llvm::Value *CGObjCGNU::GenerateProtocolRef(CodeGenFunction &CGF,
3909 void CGObjCGNU::EmitSynchronizedStmt(CodeGenFunction &CGF,
3915 void CGObjCGNU::EmitTryStmt(CodeGenFunction &CGF,
3931 void CGObjCGNU::EmitThrowStmt(CodeGenFunction &CGF,
3968 llvm::Value * CGObjCGNU::EmitObjCWeakRead(CodeGenFunction &CGF,
3975 void CGObjCGNU::EmitObjCWeakAssign(CodeGenFunction &CGF,
3983 void CGObjCGNU::EmitObjCGlobalAssign(CodeGenFunction &CGF,
3994 void CGObjCGNU::EmitObjCIvarAssign(CodeGenFunction &CGF,
4003 void CGObjCGNU::EmitObjCStrongCastAssign(CodeGenFunction &CGF,
4011 void CGObjCGNU::EmitGCMemmoveCollectable(CodeGenFunction &CGF,
4037 LValue CGObjCGNU::EmitObjCValueForIvar(CodeGenFunction &CGF,
4064 llvm::Value *CGObjCGNU::EmitIvarOffset(CodeGenFunction &CGF,
tools/clang/lib/CodeGen/CGObjCMac.cpp 1029 llvm::Value *EmitClassRefViaRuntime(CodeGenFunction &CGF,
1065 CodeGen::RValue EmitMessageSend(CodeGen::CodeGenFunction &CGF,
1237 llvm::Value *EmitClassRef(CodeGenFunction &CGF,
1240 llvm::Value *EmitClassRefFromId(CodeGenFunction &CGF,
1243 llvm::Value *EmitNSAutoreleasePoolClassRef(CodeGenFunction &CGF) override;
1305 llvm::Value *EmitSelector(CodeGenFunction &CGF, Selector Sel);
1306 Address EmitSelectorAddr(CodeGenFunction &CGF, Selector Sel);
1315 CodeGen::RValue GenerateMessageSend(CodeGen::CodeGenFunction &CGF,
1324 GenerateMessageSendSuper(CodeGen::CodeGenFunction &CGF,
1331 llvm::Value *GetClass(CodeGenFunction &CGF,
1334 llvm::Value *GetSelector(CodeGenFunction &CGF, Selector Sel) override;
1335 Address GetAddrOfSelector(CodeGenFunction &CGF, Selector Sel) override;
1339 llvm::Value *GetSelector(CodeGenFunction &CGF,
1350 llvm::Value *GenerateProtocolRef(CodeGenFunction &CGF,
1363 void EmitTryStmt(CodeGen::CodeGenFunction &CGF,
1365 void EmitSynchronizedStmt(CodeGen::CodeGenFunction &CGF,
1367 void EmitTryOrSynchronizedStmt(CodeGen::CodeGenFunction &CGF, const Stmt &S);
1368 void EmitThrowStmt(CodeGen::CodeGenFunction &CGF, const ObjCAtThrowStmt &S,
1370 llvm::Value * EmitObjCWeakRead(CodeGen::CodeGenFunction &CGF,
1372 void EmitObjCWeakAssign(CodeGen::CodeGenFunction &CGF,
1374 void EmitObjCGlobalAssign(CodeGen::CodeGenFunction &CGF,
1377 void EmitObjCIvarAssign(CodeGen::CodeGenFunction &CGF,
1380 void EmitObjCStrongCastAssign(CodeGen::CodeGenFunction &CGF,
1382 void EmitGCMemmoveCollectable(CodeGen::CodeGenFunction &CGF,
1386 LValue EmitObjCValueForIvar(CodeGen::CodeGenFunction &CGF, QualType ObjectTy,
1389 llvm::Value *EmitIvarOffset(CodeGen::CodeGenFunction &CGF,
1478 CodeGen::RValue EmitVTableMessageSend(CodeGen::CodeGenFunction &CGF,
1499 llvm::Value *EmitLoadOfClassRef(CodeGenFunction &CGF,
1505 llvm::Value *EmitClassRef(CodeGenFunction &CGF,
1508 llvm::Value *EmitClassRefFromId(CodeGenFunction &CGF,
1512 llvm::Value *EmitNSAutoreleasePoolClassRef(CodeGenFunction &CGF) override;
1516 llvm::Value *EmitSuperClassRef(CodeGenFunction &CGF,
1521 llvm::Value *EmitMetaClassRef(CodeGenFunction &CGF,
1533 llvm::Value *EmitSelector(CodeGenFunction &CGF, Selector Sel);
1534 Address EmitSelectorAddr(CodeGenFunction &CGF, Selector Sel);
1564 bool IsIvarOffsetKnownIdempotent(const CodeGen::CodeGenFunction &CGF,
1600 CodeGen::RValue GenerateMessageSend(CodeGen::CodeGenFunction &CGF,
1609 GenerateMessageSendSuper(CodeGen::CodeGenFunction &CGF,
1616 llvm::Value *GetClass(CodeGenFunction &CGF,
1619 llvm::Value *GetSelector(CodeGenFunction &CGF, Selector Sel) override
1621 Address GetAddrOfSelector(CodeGenFunction &CGF, Selector Sel) override
1626 llvm::Value *GetSelector(CodeGenFunction &CGF,
1636 llvm::Value *GenerateProtocolRef(CodeGenFunction &CGF,
1673 void EmitTryStmt(CodeGen::CodeGenFunction &CGF,
1675 void EmitSynchronizedStmt(CodeGen::CodeGenFunction &CGF,
1677 void EmitThrowStmt(CodeGen::CodeGenFunction &CGF, const ObjCAtThrowStmt &S,
1679 llvm::Value * EmitObjCWeakRead(CodeGen::CodeGenFunction &CGF,
1681 void EmitObjCWeakAssign(CodeGen::CodeGenFunction &CGF,
1683 void EmitObjCGlobalAssign(CodeGen::CodeGenFunction &CGF,
1686 void EmitObjCIvarAssign(CodeGen::CodeGenFunction &CGF,
1689 void EmitObjCStrongCastAssign(CodeGen::CodeGenFunction &CGF,
1691 void EmitGCMemmoveCollectable(CodeGen::CodeGenFunction &CGF,
1694 LValue EmitObjCValueForIvar(CodeGen::CodeGenFunction &CGF, QualType ObjectTy,
1697 llvm::Value *EmitIvarOffset(CodeGen::CodeGenFunction &CGF,
1709 void init(CodeGenFunction &CGF, llvm::Value *receiver) {
1727 RValue complete(CodeGenFunction &CGF,
1805 CodeGenFunction::ComplexPairTy callResult = result.getComplexVal();
1880 llvm::Value *CGObjCMac::GetClass(CodeGenFunction &CGF,
1886 llvm::Value *CGObjCMac::GetSelector(CodeGenFunction &CGF, Selector Sel) {
1889 Address CGObjCMac::GetAddrOfSelector(CodeGenFunction &CGF, Selector Sel) {
1892 llvm::Value *CGObjCMac::GetSelector(CodeGenFunction &CGF, const ObjCMethodDecl
2052 CGObjCMac::GenerateMessageSendSuper(CodeGen::CodeGenFunction &CGF,
2113 CodeGen::RValue CGObjCMac::GenerateMessageSend(CodeGen::CodeGenFunction &CGF,
2137 CGObjCCommonMac::EmitMessageSend(CodeGen::CodeGenFunction &CGF,
2985 llvm::Value *CGObjCMac::GenerateProtocolRef(CodeGenFunction &CGF,
3015 CodeGenFunction &CGF,
4110 void CGObjCMac::EmitTryStmt(CodeGenFunction &CGF, const ObjCAtTryStmt &S) {
4114 void CGObjCMac::EmitSynchronizedStmt(CodeGenFunction &CGF,
4134 void Emit(CodeGenFunction &CGF, Flags flags) override {
4181 CodeGenFunction &CGF;
4194 FragileHazards(CodeGenFunction &CGF);
4206 FragileHazards::FragileHazards(CodeGenFunction &CGF) : CGF(CGF) {
4441 void CGObjCMac::EmitTryOrSynchronizedStmt(CodeGen::CodeGenFunction &CGF,
4447 CodeGenFunction::JumpDest FinallyEnd =
4452 CodeGenFunction::JumpDest FinallyRethrow =
4626 CodeGenFunction::RunCleanupsScope CatchVarCleanups(CGF);
4671 CodeGenFunction::RunCleanupsScope CatchVarCleanups(CGF);
4760 void CGObjCMac::EmitThrowStmt(CodeGen::CodeGenFunction &CGF,
4787 llvm::Value * CGObjCMac::EmitObjCWeakRead(CodeGen::CodeGenFunction &CGF,
4802 void CGObjCMac::EmitObjCWeakAssign(CodeGen::CodeGenFunction &CGF,
4822 void CGObjCMac::EmitObjCGlobalAssign(CodeGen::CodeGenFunction &CGF,
4847 void CGObjCMac::EmitObjCIvarAssign(CodeGen::CodeGenFunction &CGF,
4868 void CGObjCMac::EmitObjCStrongCastAssign(CodeGen::CodeGenFunction &CGF,
4885 void CGObjCMac::EmitGCMemmoveCollectable(CodeGen::CodeGenFunction &CGF,
4897 LValue CGObjCMac::EmitObjCValueForIvar(CodeGen::CodeGenFunction &CGF,
4908 llvm::Value *CGObjCMac::EmitIvarOffset(CodeGen::CodeGenFunction &CGF,
5084 llvm::Value *CGObjCMac::EmitClassRefFromId(CodeGenFunction &CGF,
5103 llvm::Value *CGObjCMac::EmitClassRef(CodeGenFunction &CGF,
5115 llvm::Value *CGObjCMac::EmitNSAutoreleasePoolClassRef(CodeGenFunction &CGF) {
5120 llvm::Value *CGObjCMac::EmitSelector(CodeGenFunction &CGF, Selector Sel) {
5124 Address CGObjCMac::EmitSelectorAddr(CodeGenFunction &CGF, Selector Sel) {
6505 llvm::Value *CGObjCNonFragileABIMac::GenerateProtocolRef(CodeGenFunction &CGF,
7050 CodeGen::CodeGenFunction &CGF,
7062 CGObjCNonFragileABIMac::EmitIvarOffset(CodeGen::CodeGenFunction &CGF,
7113 CGObjCNonFragileABIMac::EmitVTableMessageSend(CodeGenFunction &CGF,
7225 CGObjCNonFragileABIMac::GenerateMessageSend(CodeGen::CodeGenFunction &CGF,
7303 CGObjCNonFragileABIMac::EmitLoadOfClassRef(CodeGenFunction &CGF,
7318 CGObjCNonFragileABIMac::EmitClassRefFromId(CodeGenFunction &CGF,
7350 llvm::Value *CGObjCNonFragileABIMac::EmitClassRef(CodeGenFunction &CGF,
7361 CodeGenFunction &CGF) {
7367 CGObjCNonFragileABIMac::EmitSuperClassRef(CodeGenFunction &CGF,
7390 llvm::Value *CGObjCNonFragileABIMac::EmitMetaClassRef(CodeGenFunction &CGF,
7413 llvm::Value *CGObjCNonFragileABIMac::GetClass(CodeGenFunction &CGF,
7429 CGObjCNonFragileABIMac::GenerateMessageSendSuper(CodeGen::CodeGenFunction &CGF,
7475 llvm::Value *CGObjCNonFragileABIMac::EmitSelector(CodeGenFunction &CGF,
7485 Address CGObjCNonFragileABIMac::EmitSelectorAddr(CodeGenFunction &CGF,
7512 void CGObjCNonFragileABIMac::EmitObjCIvarAssign(CodeGen::CodeGenFunction &CGF,
7534 CodeGen::CodeGenFunction &CGF,
7552 CodeGen::CodeGenFunction &CGF,
7566 CodeGen::CodeGenFunction &CGF,
7580 void CGObjCNonFragileABIMac::EmitObjCWeakAssign(CodeGen::CodeGenFunction &CGF,
7600 void CGObjCNonFragileABIMac::EmitObjCGlobalAssign(CodeGen::CodeGenFunction &CGF,
7623 CGObjCNonFragileABIMac::EmitSynchronizedStmt(CodeGen::CodeGenFunction &CGF,
7655 void CGObjCNonFragileABIMac::EmitTryStmt(CodeGen::CodeGenFunction &CGF,
7663 void CGObjCNonFragileABIMac::EmitThrowStmt(CodeGen::CodeGenFunction &CGF,
tools/clang/lib/CodeGen/CGObjCRuntime.cpp 52 LValue CGObjCRuntime::EmitValueForIvarAtOffset(CodeGen::CodeGenFunction &CGF,
133 void Emit(CodeGenFunction &CGF, Flags flags) override {
142 void CGObjCRuntime::EmitTryCatchStmt(CodeGenFunction &CGF,
148 CodeGenFunction::JumpDest Cont;
154 CodeGenFunction::FinallyInfo FinallyInfo;
195 CodeGenFunction HelperCGF(CGM, /*suppressNewContext=*/true);
244 CodeGenFunction::LexicalScope cleanups(CGF, Handler.Body->getSourceRange());
287 void CGObjCRuntime::EmitInitOfCatchParam(CodeGenFunction &CGF,
318 void Emit(CodeGenFunction &CGF, Flags flags) override {
324 void CGObjCRuntime::EmitAtSynchronizedStmt(CodeGenFunction &CGF,
328 CodeGenFunction::RunCleanupsScope cleanups(CGF);
tools/clang/lib/CodeGen/CGObjCRuntime.h 85 LValue EmitValueForIvarAtOffset(CodeGen::CodeGenFunction &CGF,
98 void EmitTryCatchStmt(CodeGenFunction &CGF, const ObjCAtTryStmt &S,
103 void EmitInitOfCatchParam(CodeGenFunction &CGF, llvm::Value *exn,
110 void EmitAtSynchronizedStmt(CodeGenFunction &CGF,
124 virtual llvm::Value *GetSelector(CodeGenFunction &CGF, Selector Sel) = 0;
131 virtual Address GetAddrOfSelector(CodeGenFunction &CGF, Selector Sel) = 0;
134 virtual llvm::Value *GetSelector(CodeGenFunction &CGF,
163 GenerateMessageSend(CodeGen::CodeGenFunction &CGF,
179 GenerateMessageSendSuper(CodeGen::CodeGenFunction &CGF,
192 virtual llvm::Value *GenerateProtocolRef(CodeGenFunction &CGF,
231 virtual llvm::Value *GetClass(CodeGenFunction &CGF,
235 virtual llvm::Value *EmitNSAutoreleasePoolClassRef(CodeGenFunction &CGF) {
243 virtual void EmitSynchronizedStmt(CodeGen::CodeGenFunction &CGF,
245 virtual void EmitTryStmt(CodeGen::CodeGenFunction &CGF,
247 virtual void EmitThrowStmt(CodeGen::CodeGenFunction &CGF,
250 virtual llvm::Value *EmitObjCWeakRead(CodeGen::CodeGenFunction &CGF,
252 virtual void EmitObjCWeakAssign(CodeGen::CodeGenFunction &CGF,
254 virtual void EmitObjCGlobalAssign(CodeGen::CodeGenFunction &CGF,
257 virtual void EmitObjCIvarAssign(CodeGen::CodeGenFunction &CGF,
260 virtual void EmitObjCStrongCastAssign(CodeGen::CodeGenFunction &CGF,
263 virtual LValue EmitObjCValueForIvar(CodeGen::CodeGenFunction &CGF,
268 virtual llvm::Value *EmitIvarOffset(CodeGen::CodeGenFunction &CGF,
271 virtual void EmitGCMemmoveCollectable(CodeGen::CodeGenFunction &CGF,
tools/clang/lib/CodeGen/CGOpenCLRuntime.cpp 28 void CGOpenCLRuntime::EmitWorkGroupLocalVarDecl(CodeGenFunction &CGF,
161 CGOpenCLRuntime::emitOpenCLEnqueuedBlock(CodeGenFunction &CGF, const Expr *E) {
tools/clang/lib/CodeGen/CGOpenCLRuntime.h 62 virtual void EmitWorkGroupLocalVarDecl(CodeGenFunction &CGF,
83 EnqueuedBlockInfo emitOpenCLEnqueuedBlock(CodeGenFunction &CGF,
tools/clang/lib/CodeGen/CGOpenMPRuntime.cpp 36 class CGOpenMPRegionInfo : public CodeGenFunction::CGCapturedStmtInfo {
70 void EmitBody(CodeGenFunction &CGF, const Stmt *S) override;
74 virtual LValue getThreadIDVariableLValue(CodeGenFunction &CGF);
76 virtual void emitUntiedSwitch(CodeGenFunction & /*CGF*/) {}
143 void Enter(CodeGenFunction &CGF) override {
161 void emitUntiedSwitch(CodeGenFunction &CGF) const {
169 CodeGenFunction::JumpDest CurPoint =
196 LValue getThreadIDVariableLValue(CodeGenFunction &CGF) override;
201 void emitUntiedSwitch(CodeGenFunction &CGF) override {
223 CGOpenMPInlinedRegionInfo(CodeGenFunction::CGCapturedStmtInfo *OldCSI,
269 LValue getThreadIDVariableLValue(CodeGenFunction &CGF) override {
282 void emitUntiedSwitch(CodeGenFunction &CGF) override {
287 CodeGenFunction::CGCapturedStmtInfo *getOldCSI() const { return OldCSI; }
298 CodeGenFunction::CGCapturedStmtInfo *OldCSI;
331 static void EmptyCodeGen(CodeGenFunction &, PrePostActionTy &) {
338 CGOpenMPInnerExprInfo(CodeGenFunction &CGF, const CapturedStmt &CS)
372 void EmitBody(CodeGenFunction &CGF, const Stmt *S) override {
391 CodeGenFunction::OMPPrivateScope PrivScope;
396 CodeGenFunction &CGF;
406 InlinedOpenMPRegionRAII(CodeGenFunction &CGF, const RegionCodeGenTy &CodeGen,
769 void Emit(CodeGenFunction &CGF, Flags /*flags*/) override {
778 void RegionCodeGenTy::operator()(CodeGenFunction &CGF) const {
779 CodeGenFunction::RunCleanupsScope Scope(CGF);
802 static void emitInitWithReductionInitializer(CodeGenFunction &CGF,
818 CodeGenFunction::OMPPrivateScope PrivateScope(CGF);
825 CodeGenFunction::OpaqueValueMapping Map(CGF, OVE, Func);
848 CodeGenFunction::OpaqueValueMapping OpaqueMap(CGF, &OVE, InitRVal);
859 static void EmitOMPAggregateInit(CodeGenFunction &CGF, Address DestAddr,
914 CodeGenFunction::RunCleanupsScope InitScope(CGF);
943 LValue ReductionCodeGen::emitSharedLValue(CodeGenFunction &CGF, const Expr *E) {
947 LValue ReductionCodeGen::emitSharedLValueUB(CodeGenFunction &CGF,
955 CodeGenFunction &CGF, unsigned N, Address PrivateAddr, LValue SharedLVal,
987 void ReductionCodeGen::emitSharedLValue(CodeGenFunction &CGF, unsigned N) {
995 void ReductionCodeGen::emitAggregateType(CodeGenFunction &CGF, unsigned N) {
1025 CodeGenFunction::OpaqueValueMapping OpaqueMap(
1033 void ReductionCodeGen::emitAggregateType(CodeGenFunction &CGF, unsigned N,
1044 CodeGenFunction::OpaqueValueMapping OpaqueMap(
1053 CodeGenFunction &CGF, unsigned N, Address PrivateAddr, LValue SharedLVal,
1054 llvm::function_ref<bool(CodeGenFunction &)> DefaultInit) {
1091 void ReductionCodeGen::emitCleanups(CodeGenFunction &CGF, unsigned N,
1104 static LValue loadToBegin(CodeGenFunction &CGF, QualType BaseTy, QualType ElTy,
1124 static Address castToBase(CodeGenFunction &CGF, QualType BaseTy, QualType ElTy,
1172 Address ReductionCodeGen::adjustPrivateAddress(CodeGenFunction &CGF, unsigned N,
1204 LValue CGOpenMPRegionInfo::getThreadIDVariableLValue(CodeGenFunction &CGF) {
1210 void CGOpenMPRegionInfo::EmitBody(CodeGenFunction &CGF, const Stmt * /*S*/) {
1224 CodeGenFunction &CGF) {
1374 CodeGenFunction CGF(CGM);
1379 CodeGenFunction::OMPPrivateScope Scope(CGF);
1405 CodeGenFunction *CGF, const OMPDeclareReductionDecl *D) {
1445 CodeGenFunction CGF(CGM, true);
1465 CodeGenFunction::CGCapturedStmtRAII CapInfoRAII(CGF, &CGInfo);
1511 CodeGenFunction CGF(CGM, true);
1515 CodeGenFunction::CGCapturedStmtRAII CapInfoRAII(CGF, &CGInfo);
1600 void CGOpenMPRuntime::setLocThreadIdInsertPt(CodeGenFunction &CGF,
1616 void CGOpenMPRuntime::clearLocThreadIdInsertPt(CodeGenFunction &CGF) {
1625 llvm::Value *CGOpenMPRuntime::emitUpdateLocation(CodeGenFunction &CGF,
1686 llvm::Value *CGOpenMPRuntime::getThreadID(CodeGenFunction &CGF,
1742 void CGOpenMPRuntime::functionFinished(CodeGenFunction &CGF) {
2718 Address CGOpenMPRuntime::getAddrOfThreadPrivate(CodeGenFunction &CGF,
2738 CodeGenFunction &CGF, Address VDAddr, llvm::Value *Ctor,
2756 bool PerformInit, CodeGenFunction *CGF) {
2770 CodeGenFunction CtorCGF(CGM);
2803 CodeGenFunction DtorCGF(CGM);
2860 CodeGenFunction InitCGF(CGM);
2914 CodeGenFunction CtorCGF(CGM);
2952 CodeGenFunction DtorCGF(CGM);
2987 Address CGOpenMPRuntime::getAddrOfArtificialThreadPrivate(CodeGenFunction &CGF,
3011 void CGOpenMPRuntime::emitOMPIfClause(CodeGenFunction &CGF, const Expr *Cond,
3014 CodeGenFunction::LexicalScope ConditionScope(CGF, Cond->getSourceRange());
3050 void CGOpenMPRuntime::emitParallelCall(CodeGenFunction &CGF, SourceLocation Loc,
3116 Address CGOpenMPRuntime::emitThreadIDAddress(CodeGenFunction &CGF,
3176 void Enter(CodeGenFunction &CGF) override {
3187 void Done(CodeGenFunction &CGF) {
3192 void Exit(CodeGenFunction &CGF) override {
3198 void CGOpenMPRuntime::emitCriticalRegion(CodeGenFunction &CGF,
3224 void CGOpenMPRuntime::emitMasterRegion(CodeGenFunction &CGF,
3243 void CGOpenMPRuntime::emitTaskyieldCall(CodeGenFunction &CGF,
3256 void CGOpenMPRuntime::emitTaskgroupRegion(CodeGenFunction &CGF,
3275 static Address emitAddrOfVarFromArray(CodeGenFunction &CGF, Address Array,
3310 CodeGenFunction CGF(CGM);
3341 void CGOpenMPRuntime::emitSingleRegion(CodeGenFunction &CGF,
3422 void CGOpenMPRuntime::emitOrderedRegion(CodeGenFunction &CGF,
3459 CodeGenFunction &CGF, const OMPLoopDirective &S,
3476 void CGOpenMPRuntime::emitBarrierCall(CodeGenFunction &CGF, SourceLocation Loc,
3503 CodeGenFunction::JumpDest CancelDestination =
3626 CodeGenFunction &CGF, SourceLocation Loc,
3659 CodeGenFunction &CGF, llvm::Value *UpdateLocation, llvm::Value *ThreadId,
3707 void CGOpenMPRuntime::emitForStaticInit(CodeGenFunction &CGF,
3728 CodeGenFunction &CGF, SourceLocation Loc,
3743 void CGOpenMPRuntime::emitForStaticFinish(CodeGenFunction &CGF,
3761 void CGOpenMPRuntime::emitForOrderedIterationEnd(CodeGenFunction &CGF,
3772 llvm::Value *CGOpenMPRuntime::emitForNext(CodeGenFunction &CGF,
3796 void CGOpenMPRuntime::emitNumThreadsClause(CodeGenFunction &CGF,
3809 void CGOpenMPRuntime::emitProcBindClause(CodeGenFunction &CGF,
3844 void CGOpenMPRuntime::emitFlush(CodeGenFunction &CGF, ArrayRef<const Expr *>,
4519 CodeGenFunction CGF(CGM);
4624 CodeGenFunction CGF(CGM);
4722 CodeGenFunction CGF(CGM);
4747 static void emitPrivatesInit(CodeGenFunction &CGF,
4761 CodeGenFunction::CGCapturedStmtInfo CapturesInfo(CS);
4821 CodeGenFunction::OMPPrivateScope InitScope(CGF);
4826 CodeGenFunction::CGCapturedStmtRAII CapInfoRAII(
4834 CodeGenFunction::OMPPrivateScope InitScope(CGF);
4839 CodeGenFunction::CGCapturedStmtRAII CapInfoRAII(CGF, &CapturesInfo);
4852 static bool checkInitIsRequired(CodeGenFunction &CGF,
4906 CodeGenFunction CGF(CGM);
4962 CGOpenMPRuntime::emitTaskInit(CodeGenFunction &CGF, SourceLocation Loc,
5181 void CGOpenMPRuntime::emitTaskCall(CodeGenFunction &CGF, SourceLocation Loc,
5339 CodeGenFunction::RunCleanupsScope LocalScope(CGF);
5376 void CGOpenMPRuntime::emitTaskLoopCall(CodeGenFunction &CGF, SourceLocation Loc,
5467 CodeGenFunction &CGF, QualType Type, const VarDecl *LHSVar,
5469 const llvm::function_ref<void(CodeGenFunction &CGF, const Expr *,
5514 CodeGenFunction::OMPPrivateScope Scope(CGF);
5540 static void emitReductionCombiner(CodeGenFunction &CGF,
5551 CodeGenFunction::OpaqueValueMapping Map(CGF, OVE, Func);
5580 CodeGenFunction CGF(CGM);
5595 CodeGenFunction::OMPPrivateScope Scope(CGF);
5618 CodeGenFunction::OpaqueValueMapping OpaqueMap(
5650 void CGOpenMPRuntime::emitSingleReductionCombiner(CodeGenFunction &CGF,
5670 void CGOpenMPRuntime::emitReduction(CodeGenFunction &CGF, SourceLocation Loc,
5720 CodeGenFunction::RunCleanupsScope Scope(CGF);
5900 CodeGenFunction::OMPPrivateScope PrivateScope(CGF);
6016 CodeGenFunction CGF(CGM);
6093 CodeGenFunction CGF(CGM);
6109 CodeGenFunction::OMPPrivateScope PrivateScope(CGF);
6163 CodeGenFunction CGF(CGM);
6187 CodeGenFunction &CGF, SourceLocation Loc, ArrayRef<const Expr *> LHSExprs,
6291 void CGOpenMPRuntime::emitTaskReductionFixups(CodeGenFunction &CGF,
6318 Address CGOpenMPRuntime::getTaskReductionItem(CodeGenFunction &CGF,
6336 void CGOpenMPRuntime::emitTaskwaitCall(CodeGenFunction &CGF,
6349 void CGOpenMPRuntime::emitInlinedDirective(CodeGenFunction &CGF,
6385 CodeGenFunction &CGF, SourceLocation Loc,
6411 CodeGenFunction::JumpDest CancelDest =
6419 void CGOpenMPRuntime::emitCancelCall(CodeGenFunction &CGF, SourceLocation Loc,
6446 CodeGenFunction::JumpDest CancelDest =
6498 CodeGenFunction CGF(CGM, true);
6500 CodeGenFunction::CGCapturedStmtRAII CapInfoRAII(CGF, &CGInfo);
6602 emitNumTeamsForTargetDirective(CodeGenFunction &CGF,
6623 CodeGenFunction::CGCapturedStmtRAII CapInfoRAII(CGF, &CGInfo);
6647 CodeGenFunction::RunCleanupsScope NumTeamsScope(CGF);
6718 static llvm::Value *getNumThreads(CodeGenFunction &CGF, const CapturedStmt *CS,
6730 CodeGenFunction::CGCapturedStmtRAII CapInfoRAII(CGF, &CGInfo);
6746 CodeGenFunction::LexicalScope Scope(CGF, Cond->getSourceRange());
6753 CodeGenFunction::AutoVarEmission Emission =
6767 CodeGenFunction::CGCapturedStmtRAII CapInfoRAII(CGF, &CGInfo);
6770 CodeGenFunction::LexicalScope Scope(
6778 CodeGenFunction::AutoVarEmission Emission =
6819 emitNumThreadsForTargetDirective(CodeGenFunction &CGF,
6840 CodeGenFunction::CGCapturedStmtRAII CapInfoRAII(CGF, &CGInfo);
6843 CodeGenFunction::LexicalScope Scope(
6851 CodeGenFunction::AutoVarEmission Emission =
6882 CodeGenFunction::RunCleanupsScope ThreadLimitScope(CGF);
6905 CodeGenFunction::RunCleanupsScope ThreadLimitScope(CGF);
6937 CodeGenFunction::RunCleanupsScope Scope(CGF);
6943 CodeGenFunction::RunCleanupsScope ThreadLimitScope(CGF);
6951 CodeGenFunction::RunCleanupsScope NumThreadsScope(CGF);
7156 CodeGenFunction &CGF;
7859 MappableExprsHandler(const OMPExecutableDirective &Dir, CodeGenFunction &CGF)
7873 MappableExprsHandler(const OMPDeclareMapperDecl &Dir, CodeGenFunction &CGF)
8554 emitOffloadingArrays(CodeGenFunction &CGF,
8672 CodeGenFunction &CGF, llvm::Value *&BasePointersArrayArg,
8832 CodeGenFunction *CGF) {
8873 CodeGenFunction MapperCGF(CGM);
8925 CodeGenFunction::OMPPrivateScope Scope(MapperCGF);
9088 CodeGenFunction &MapperCGF, llvm::Value *Handle, llvm::Value *Base,
9135 CodeGenFunction &CGF, const OMPExecutableDirective &D,
9137 llvm::function_ref<llvm::Value *(CodeGenFunction &CGF,
9160 CodeGenFunction &CGF, const OMPExecutableDirective &D,
9163 llvm::function_ref<llvm::Value *(CodeGenFunction &CGF,
9180 CodeGenFunction::OMPTargetDataInfo InputInfo;
9413 CodeGenFunction::OMPTargetDataInfo InputInfo;
9464 CodeGenFunction::EmitOMPTargetDeviceFunction(CGM, ParentName,
9468 CodeGenFunction::EmitOMPTargetParallelDeviceFunction(
9472 CodeGenFunction::EmitOMPTargetTeamsDeviceFunction(
9476 CodeGenFunction::EmitOMPTargetTeamsDistributeDeviceFunction(
9480 CodeGenFunction::EmitOMPTargetTeamsDistributeSimdDeviceFunction(
9484 CodeGenFunction::EmitOMPTargetParallelForDeviceFunction(
9488 CodeGenFunction::EmitOMPTargetParallelForSimdDeviceFunction(
9492 CodeGenFunction::EmitOMPTargetSimdDeviceFunction(
9496 CodeGenFunction::EmitOMPTargetTeamsDistributeParallelForDeviceFunction(
9501 CodeGenFunction::
9645 CGOpenMPRuntime::registerTargetFirstprivateCopy(CodeGenFunction &CGF,
9777 CodeGenFunction &CGF, const OMPExecutableDirective &D) const {
9869 CodeGenFunction CGF(CGM);
9895 void CGOpenMPRuntime::emitTeamsCall(CodeGenFunction &CGF,
9904 CodeGenFunction::RunCleanupsScope Scope(CGF);
9919 void CGOpenMPRuntime::emitNumTeamsClause(CodeGenFunction &CGF,
9948 CodeGenFunction &CGF, const OMPExecutableDirective &D, const Expr *IfCond,
10075 CodeGenFunction &CGF, const OMPExecutableDirective &D, const Expr *IfCond,
10085 CodeGenFunction::OMPTargetDataInfo InputInfo;
10797 void Emit(CodeGenFunction &CGF, Flags /*flags*/) override {
10805 void CGOpenMPRuntime::emitDoacrossInit(CodeGenFunction &CGF,
10877 void CGOpenMPRuntime::emitDoacrossOrdered(CodeGenFunction &CGF,
10908 void CGOpenMPRuntime::emitCall(CodeGenFunction &CGF, SourceLocation Loc,
10924 CodeGenFunction &CGF, SourceLocation Loc, llvm::FunctionCallee OutlinedFn,
10929 void CGOpenMPRuntime::emitFunctionProlog(CodeGenFunction &CGF, const Decl *D) {
10935 Address CGOpenMPRuntime::getParameterAddress(CodeGenFunction &CGF,
10959 void Emit(CodeGenFunction &CGF, Flags /*flags*/) override {
10967 Address CGOpenMPRuntime::getAddressOfLocalVariable(CodeGenFunction &CGF,
11166 void CGOpenMPSIMDRuntime::emitParallelCall(CodeGenFunction &CGF,
11175 CodeGenFunction &CGF, StringRef CriticalName,
11181 void CGOpenMPSIMDRuntime::emitMasterRegion(CodeGenFunction &CGF,
11187 void CGOpenMPSIMDRuntime::emitTaskyieldCall(CodeGenFunction &CGF,
11193 CodeGenFunction &CGF, const RegionCodeGenTy &TaskgroupOpGen,
11199 CodeGenFunction &CGF, const RegionCodeGenTy &SingleOpGen,
11206 void CGOpenMPSIMDRuntime::emitOrderedRegion(CodeGenFunction &CGF,
11213 void CGOpenMPSIMDRuntime::emitBarrierCall(CodeGenFunction &CGF,
11222 CodeGenFunction &CGF, SourceLocation Loc,
11229 CodeGenFunction &CGF, SourceLocation Loc, OpenMPDirectiveKind DKind,
11235 CodeGenFunction &CGF, SourceLocation Loc,
11240 void CGOpenMPSIMDRuntime::emitForOrderedIterationEnd(CodeGenFunction &CGF,
11247 void CGOpenMPSIMDRuntime::emitForStaticFinish(CodeGenFunction &CGF,
11253 llvm::Value *CGOpenMPSIMDRuntime::emitForNext(CodeGenFunction &CGF,
11261 void CGOpenMPSIMDRuntime::emitNumThreadsClause(CodeGenFunction &CGF,
11267 void CGOpenMPSIMDRuntime::emitProcBindClause(CodeGenFunction &CGF,
11273 Address CGOpenMPSIMDRuntime::getAddrOfThreadPrivate(CodeGenFunction &CGF,
11282 CodeGenFunction *CGF) {
11287 CodeGenFunction &CGF, QualType VarType, StringRef Name) {
11291 void CGOpenMPSIMDRuntime::emitFlush(CodeGenFunction &CGF,
11297 void CGOpenMPSIMDRuntime::emitTaskCall(CodeGenFunction &CGF, SourceLocation Loc,
11307 CodeGenFunction &CGF, SourceLocation Loc, const OMPLoopDirective &D,
11314 CodeGenFunction &CGF, SourceLocation Loc, ArrayRef<const Expr *> Privates,
11323 CodeGenFunction &CGF, SourceLocation Loc, ArrayRef<const Expr *> LHSExprs,
11328 void CGOpenMPSIMDRuntime::emitTaskReductionFixups(CodeGenFunction &CGF,
11335 Address CGOpenMPSIMDRuntime::getTaskReductionItem(CodeGenFunction &CGF,
11342 void CGOpenMPSIMDRuntime::emitTaskwaitCall(CodeGenFunction &CGF,
11348 CodeGenFunction &CGF, SourceLocation Loc,
11353 void CGOpenMPSIMDRuntime::emitCancelCall(CodeGenFunction &CGF,
11367 CodeGenFunction &CGF, const OMPExecutableDirective &D,
11370 llvm::function_ref<llvm::Value *(CodeGenFunction &CGF,
11388 void CGOpenMPSIMDRuntime::emitTeamsCall(CodeGenFunction &CGF,
11396 void CGOpenMPSIMDRuntime::emitNumTeamsClause(CodeGenFunction &CGF,
11404 CodeGenFunction &CGF, const OMPExecutableDirective &D, const Expr *IfCond,
11410 CodeGenFunction &CGF, const OMPExecutableDirective &D, const Expr *IfCond,
11415 void CGOpenMPSIMDRuntime::emitDoacrossInit(CodeGenFunction &CGF,
11421 void CGOpenMPSIMDRuntime::emitDoacrossOrdered(CodeGenFunction &CGF,
11433 CGOpenMPSIMDRuntime::getParameterAddress(CodeGenFunction &CGF,
tools/clang/lib/CodeGen/CGOpenMPRuntime.h 57 virtual void Enter(CodeGenFunction &CGF) {}
58 virtual void Exit(CodeGenFunction &CGF) {}
66 typedef void (*CodeGenTy)(intptr_t, CodeGenFunction &, PrePostActionTy &);
72 static void CallbackFn(intptr_t CodeGen, CodeGenFunction &CGF,
88 void operator()(CodeGenFunction &CGF) const;
137 LValue emitSharedLValue(CodeGenFunction &CGF, const Expr *E);
139 LValue emitSharedLValueUB(CodeGenFunction &CGF, const Expr *E);
145 void emitAggregateInitialization(CodeGenFunction &CGF, unsigned N,
155 void emitSharedLValue(CodeGenFunction &CGF, unsigned N);
158 void emitAggregateType(CodeGenFunction &CGF, unsigned N);
162 void emitAggregateType(CodeGenFunction &CGF, unsigned N, llvm::Value *Size);
170 emitInitialization(CodeGenFunction &CGF, unsigned N, Address PrivateAddr,
172 llvm::function_ref<bool(CodeGenFunction &)> DefaultInit);
178 void emitCleanups(CodeGenFunction &CGF, unsigned N, Address PrivateAddr);
183 Address adjustPrivateAddress(CodeGenFunction &CGF, unsigned N,
251 void emitOMPIfClause(CodeGenFunction &CGF, const Expr *Cond,
258 llvm::Value *emitUpdateLocation(CodeGenFunction &CGF, SourceLocation Loc,
266 llvm::Value *getThreadID(CodeGenFunction &CGF, SourceLocation Loc);
274 void emitCall(CodeGenFunction &CGF, SourceLocation Loc,
280 virtual Address emitThreadIDAddress(CodeGenFunction &CGF, SourceLocation Loc);
282 void setLocThreadIdInsertPt(CodeGenFunction &CGF,
284 void clearLocThreadIdInsertPt(CodeGenFunction &CGF);
754 void emitThreadPrivateVarInit(CodeGenFunction &CGF, Address VDAddr,
760 void emitUDMapperArrayInitOrDel(CodeGenFunction &MapperCGF,
796 TaskResultTy emitTaskInit(CodeGenFunction &CGF, SourceLocation Loc,
810 CodeGenFunction &CGF, const OMPExecutableDirective &D,
812 llvm::function_ref<llvm::Value *(CodeGenFunction &CGF,
831 virtual void emitUserDefinedReduction(CodeGenFunction *CGF,
839 CodeGenFunction *CGF = nullptr);
888 virtual void functionFinished(CodeGenFunction &CGF);
900 virtual void emitParallelCall(CodeGenFunction &CGF, SourceLocation Loc,
910 virtual void emitCriticalRegion(CodeGenFunction &CGF, StringRef CriticalName,
918 virtual void emitMasterRegion(CodeGenFunction &CGF,
923 virtual void emitTaskyieldCall(CodeGenFunction &CGF, SourceLocation Loc);
928 virtual void emitTaskgroupRegion(CodeGenFunction &CGF,
935 virtual void emitSingleRegion(CodeGenFunction &CGF,
946 virtual void emitOrderedRegion(CodeGenFunction &CGF,
958 virtual void emitBarrierCall(CodeGenFunction &CGF, SourceLocation Loc,
1032 virtual void emitForDispatchInit(CodeGenFunction &CGF, SourceLocation Loc,
1081 virtual void emitForStaticInit(CodeGenFunction &CGF, SourceLocation Loc,
1092 virtual void emitDistributeStaticInit(CodeGenFunction &CGF,
1105 virtual void emitForOrderedIterationEnd(CodeGenFunction &CGF,
1116 virtual void emitForStaticFinish(CodeGenFunction &CGF, SourceLocation Loc,
1133 virtual llvm::Value *emitForNext(CodeGenFunction &CGF, SourceLocation Loc,
1142 virtual void emitNumThreadsClause(CodeGenFunction &CGF,
1148 virtual void emitProcBindClause(CodeGenFunction &CGF,
1158 virtual Address getAddrOfThreadPrivate(CodeGenFunction &CGF,
1178 CodeGenFunction *CGF = nullptr);
1192 virtual Address getAddrOfArtificialThreadPrivate(CodeGenFunction &CGF,
1198 virtual void emitFlush(CodeGenFunction &CGF, ArrayRef<const Expr *> Vars,
1228 virtual void emitTaskCall(CodeGenFunction &CGF, SourceLocation Loc,
1263 virtual void emitTaskLoopCall(CodeGenFunction &CGF, SourceLocation Loc,
1276 virtual void emitInlinedDirective(CodeGenFunction &CGF,
1296 void emitSingleReductionCombiner(CodeGenFunction &CGF,
1349 virtual void emitReduction(CodeGenFunction &CGF, SourceLocation Loc,
1376 virtual llvm::Value *emitTaskReductionInit(CodeGenFunction &CGF,
1389 virtual void emitTaskReductionFixups(CodeGenFunction &CGF, SourceLocation Loc,
1397 virtual Address getTaskReductionItem(CodeGenFunction &CGF, SourceLocation Loc,
1402 virtual void emitTaskwaitCall(CodeGenFunction &CGF, SourceLocation Loc);
1408 virtual void emitCancellationPointCall(CodeGenFunction &CGF,
1417 virtual void emitCancelCall(CodeGenFunction &CGF, SourceLocation Loc,
1450 emitTargetCall(CodeGenFunction &CGF, const OMPExecutableDirective &D,
1453 llvm::function_ref<llvm::Value *(CodeGenFunction &CGF,
1475 llvm::Constant *registerTargetFirstprivateCopy(CodeGenFunction &CGF,
1499 virtual void emitTeamsCall(CodeGenFunction &CGF,
1509 virtual void emitNumTeamsClause(CodeGenFunction &CGF, const Expr *NumTeams,
1560 virtual void emitTargetDataCalls(CodeGenFunction &CGF,
1573 virtual void emitTargetDataStandAloneCall(CodeGenFunction &CGF,
1587 virtual void emitDoacrossInit(CodeGenFunction &CGF, const OMPLoopDirective &D,
1592 virtual void emitDoacrossOrdered(CodeGenFunction &CGF,
1608 virtual Address getParameterAddress(CodeGenFunction &CGF,
1614 virtual void getDefaultDistScheduleAndChunk(CodeGenFunction &CGF,
1620 virtual void getDefaultScheduleAndChunk(CodeGenFunction &CGF,
1627 emitOutlinedFunctionCall(CodeGenFunction &CGF, SourceLocation Loc,
1633 virtual void emitFunctionProlog(CodeGenFunction &CGF, const Decl *D);
1636 virtual Address getAddressOfLocalVariable(CodeGenFunction &CGF,
1649 adjustTargetSpecificDataForLambdas(CodeGenFunction &CGF,
1733 void emitParallelCall(CodeGenFunction &CGF, SourceLocation Loc,
1743 void emitCriticalRegion(CodeGenFunction &CGF, StringRef CriticalName,
1751 void emitMasterRegion(CodeGenFunction &CGF,
1756 void emitTaskyieldCall(CodeGenFunction &CGF, SourceLocation Loc) override;
1761 void emitTaskgroupRegion(CodeGenFunction &CGF,
1768 void emitSingleRegion(CodeGenFunction &CGF,
1778 void emitOrderedRegion(CodeGenFunction &CGF,
1790 void emitBarrierCall(CodeGenFunction &CGF, SourceLocation Loc,
1810 void emitForDispatchInit(CodeGenFunction &CGF, SourceLocation Loc,
1830 void emitForStaticInit(CodeGenFunction &CGF, SourceLocation Loc,
1841 void emitDistributeStaticInit(CodeGenFunction &CGF, SourceLocation Loc,
1853 void emitForOrderedIterationEnd(CodeGenFunction &CGF, SourceLocation Loc,
1863 void emitForStaticFinish(CodeGenFunction &CGF, SourceLocation Loc,
1880 llvm::Value *emitForNext(CodeGenFunction &CGF, SourceLocation Loc,
1888 void emitNumThreadsClause(CodeGenFunction &CGF, llvm::Value *NumThreads,
1893 void emitProcBindClause(CodeGenFunction &CGF,
1903 Address getAddrOfThreadPrivate(CodeGenFunction &CGF, const VarDecl *VD,
1917 CodeGenFunction *CGF = nullptr) override;
1923 Address getAddrOfArtificialThreadPrivate(CodeGenFunction &CGF,
1929 void emitFlush(CodeGenFunction &CGF, ArrayRef<const Expr *> Vars,
1959 void emitTaskCall(CodeGenFunction &CGF, SourceLocation Loc,
1994 void emitTaskLoopCall(CodeGenFunction &CGF, SourceLocation Loc,
2041 void emitReduction(CodeGenFunction &CGF, SourceLocation Loc,
2068 llvm::Value *emitTaskReductionInit(CodeGenFunction &CGF, SourceLocation Loc,
2080 void emitTaskReductionFixups(CodeGenFunction &CGF, SourceLocation Loc,
2088 Address getTaskReductionItem(CodeGenFunction &CGF, SourceLocation Loc,
2093 void emitTaskwaitCall(CodeGenFunction &CGF, SourceLocation Loc) override;
2099 void emitCancellationPointCall(CodeGenFunction &CGF, SourceLocation Loc,
2107 void emitCancelCall(CodeGenFunction &CGF, SourceLocation Loc,
2138 emitTargetCall(CodeGenFunction &CGF, const OMPExecutableDirective &D,
2141 llvm::function_ref<llvm::Value *(CodeGenFunction &CGF,
2169 void emitTeamsCall(CodeGenFunction &CGF, const OMPExecutableDirective &D,
2178 void emitNumTeamsClause(CodeGenFunction &CGF, const Expr *NumTeams,
2189 void emitTargetDataCalls(CodeGenFunction &CGF,
2201 void emitTargetDataStandAloneCall(CodeGenFunction &CGF,
2208 void emitDoacrossInit(CodeGenFunction &CGF, const OMPLoopDirective &D,
2213 void emitDoacrossOrdered(CodeGenFunction &CGF,
2227 Address getParameterAddress(CodeGenFunction &CGF, const VarDecl *NativeParam,
2231 Address getAddressOfLocalVariable(CodeGenFunction &CGF,
tools/clang/lib/CodeGen/CGOpenMPRuntimeNVPTX.cpp 132 void Enter(CodeGenFunction &CGF) override {
143 void Done(CodeGenFunction &CGF) {
148 void Exit(CodeGenFunction &CGF) override {
311 CodeGenFunction &CGF;
440 CheckVarsEscapingDeclContext(CodeGenFunction &CGF,
621 static llvm::Value *getNVPTXWarpSize(CodeGenFunction &CGF) {
629 static llvm::Value *getNVPTXThreadID(CodeGenFunction &CGF) {
639 static llvm::Value *getNVPTXWarpID(CodeGenFunction &CGF) {
647 static llvm::Value *getNVPTXLaneID(CodeGenFunction &CGF) {
654 static llvm::Value *getNVPTXNumThreads(CodeGenFunction &CGF) {
666 static llvm::Value *getThreadLimit(CodeGenFunction &CGF,
682 static llvm::Value *getMasterThreadID(CodeGenFunction &CGF) {
1159 void Enter(CodeGenFunction &CGF) override {
1166 void Exit(CodeGenFunction &CGF) override {
1199 void CGOpenMPRuntimeNVPTX::emitNonSPMDEntryHeader(CodeGenFunction &CGF,
1241 void CGOpenMPRuntimeNVPTX::emitNonSPMDEntryFooter(CodeGenFunction &CGF,
1293 void Enter(CodeGenFunction &CGF) override {
1298 void Exit(CodeGenFunction &CGF) override {
1322 CodeGenFunction &CGF, EntryFunctionState &EST,
1350 void CGOpenMPRuntimeNVPTX::emitSPMDEntryFooter(CodeGenFunction &CGF,
1394 CodeGenFunction CGF(CGM, /*suppressNewContext=*/true);
1401 void CGOpenMPRuntimeNVPTX::emitWorkerLoop(CodeGenFunction &CGF,
1926 void CGOpenMPRuntimeNVPTX::emitProcBindClause(CodeGenFunction &CGF,
1936 void CGOpenMPRuntimeNVPTX::emitNumThreadsClause(CodeGenFunction &CGF,
1946 void CGOpenMPRuntimeNVPTX::emitNumTeamsClause(CodeGenFunction &CGF,
1962 void Enter(CodeGenFunction &CGF) override {
1966 void Exit(CodeGenFunction &CGF) override {
2072 void Enter(CodeGenFunction &CGF) override {
2079 std::make_unique<CodeGenFunction::OMPMapVars>();
2091 void Exit(CodeGenFunction &CGF) override {
2108 void CGOpenMPRuntimeNVPTX::emitGenericVarsProlog(CodeGenFunction &CGF,
2391 void CGOpenMPRuntimeNVPTX::emitGenericVarsEpilog(CodeGenFunction &CGF,
2455 void CGOpenMPRuntimeNVPTX::emitTeamsCall(CodeGenFunction &CGF,
2474 CodeGenFunction &CGF, SourceLocation Loc, llvm::Function *OutlinedFn,
2486 CodeGenFunction &CGF, SourceLocation Loc, llvm::Value *OutlinedFn,
2544 CodeGenFunction::OMPPrivateScope PrivateArgScope(CGF);
2648 CodeGenFunction::RunCleanupsScope Scope(CGF);
2655 CodeGenFunction &CGF, SourceLocation Loc, llvm::Function *OutlinedFn,
2712 void CGOpenMPRuntimeNVPTX::syncCTAThreads(CodeGenFunction &CGF) {
2727 void CGOpenMPRuntimeNVPTX::emitBarrierCall(CodeGenFunction &CGF,
2744 CodeGenFunction &CGF, StringRef CriticalName,
2810 static llvm::Value *castValueToType(CodeGenFunction &CGF, llvm::Value *Val,
2835 static llvm::Value *createRuntimeShuffleFunction(CodeGenFunction &CGF,
2866 static void shuffleAndStore(CodeGenFunction &CGF, Address SrcAddr,
2962 CopyAction Action, CodeGenFunction &CGF, QualType ReductionArrayTy,
3093 CodeGenFunction::ComplexPairTy Elem = CGF.EmitLoadOfComplex(
3195 CodeGenFunction CGF(CGM);
3495 CodeGenFunction CGF(CGM);
3650 CodeGenFunction CGF(CGM);
3699 CodeGenFunction::ComplexPairTy V = CGF.EmitLoadOfComplex(
3756 CodeGenFunction CGF(CGM);
3850 CodeGenFunction CGF(CGM);
3899 CodeGenFunction::ComplexPairTy V = CGF.EmitLoadOfComplex(GlobLVal, Loc);
3956 CodeGenFunction CGF(CGM);
4258 CodeGenFunction &CGF, SourceLocation Loc, ArrayRef<const Expr *> Privates,
4478 CGOpenMPRuntimeNVPTX::getParameterAddress(CodeGenFunction &CGF,
4509 CodeGenFunction &CGF, SourceLocation Loc, llvm::FunctionCallee OutlinedFn,
4568 CodeGenFunction CGF(CGM, /*suppressNewContext=*/true);
4656 void CGOpenMPRuntimeNVPTX::emitFunctionProlog(CodeGenFunction &CGF,
4693 std::make_unique<CodeGenFunction::OMPMapVars>();
4725 void Emit(CodeGenFunction &CGF, Flags flags) override {
4734 Address CGOpenMPRuntimeNVPTX::getAddressOfLocalVariable(CodeGenFunction &CGF,
4813 void CGOpenMPRuntimeNVPTX::functionFinished(CodeGenFunction &CGF) {
4819 CodeGenFunction &CGF, const OMPLoopDirective &S,
4834 CodeGenFunction &CGF, const OMPLoopDirective &S,
4846 CodeGenFunction &CGF, const OMPExecutableDirective &D) const {
tools/clang/lib/CodeGen/CGOpenMPRuntimeNVPTX.h 60 void syncCTAThreads(CodeGenFunction &CGF);
66 void emitWorkerLoop(CodeGenFunction &CGF, WorkerFunctionState &WST);
70 void emitNonSPMDEntryHeader(CodeGenFunction &CGF, EntryFunctionState &EST,
75 void emitNonSPMDEntryFooter(CodeGenFunction &CGF, EntryFunctionState &EST);
78 void emitGenericVarsProlog(CodeGenFunction &CGF, SourceLocation Loc,
82 void emitGenericVarsEpilog(CodeGenFunction &CGF, bool WithSPMDCheck = false);
85 void emitSPMDEntryHeader(CodeGenFunction &CGF, EntryFunctionState &EST,
89 void emitSPMDEntryFooter(CodeGenFunction &CGF, EntryFunctionState &EST);
157 void emitNonSPMDParallelCall(CodeGenFunction &CGF, SourceLocation Loc,
173 void emitSPMDParallelCall(CodeGenFunction &CGF, SourceLocation Loc,
214 virtual void emitProcBindClause(CodeGenFunction &CGF,
222 virtual void emitNumThreadsClause(CodeGenFunction &CGF,
231 void emitNumTeamsClause(CodeGenFunction &CGF, const Expr *NumTeams,
272 void emitTeamsCall(CodeGenFunction &CGF, const OMPExecutableDirective &D,
285 void emitParallelCall(CodeGenFunction &CGF, SourceLocation Loc,
298 void emitBarrierCall(CodeGenFunction &CGF, SourceLocation Loc,
307 void emitCriticalRegion(CodeGenFunction &CGF, StringRef CriticalName,
325 virtual void emitReduction(CodeGenFunction &CGF, SourceLocation Loc,
349 Address getParameterAddress(CodeGenFunction &CGF, const VarDecl *NativeParam,
355 CodeGenFunction &CGF, SourceLocation Loc, llvm::FunctionCallee OutlinedFn,
360 void emitFunctionProlog(CodeGenFunction &CGF, const Decl *D) override;
363 Address getAddressOfLocalVariable(CodeGenFunction &CGF,
379 void functionFinished(CodeGenFunction &CGF) override;
382 void getDefaultDistScheduleAndChunk(CodeGenFunction &CGF,
387 void getDefaultScheduleAndChunk(CodeGenFunction &CGF,
394 CodeGenFunction &CGF, const OMPExecutableDirective &D) const override;
465 std::unique_ptr<CodeGenFunction::OMPMapVars> MappedParams;
tools/clang/lib/CodeGen/CGStmt.cpp 519 CodeGenFunction::JumpDest
1423 HadSkippedDecl |= CodeGenFunction::mightAddDeclToScope(*I);
1439 if (CodeGenFunction::ContainsLabel(*I, true))
1470 AnyDecls |= CodeGenFunction::mightAddDeclToScope(*I);
1483 if (CodeGenFunction::ContainsLabel(*I, true))
1498 if (StartedInLiveCode && !CodeGenFunction::containsBreak(S)) {
1513 if (CodeGenFunction::ContainsLabel(S, true))
1520 if (CodeGenFunction::containsBreak(S)) return CSFC_Failure;
1566 return !CodeGenFunction::ContainsLabel(&S);
1824 if (CodeGenFunction::hasScalarEvaluationKind(InputType)) {
1871 if (CodeGenFunction::hasScalarEvaluationKind(InputExpr->getType()))
1886 CodeGenFunction &CGF) {
1915 CodeGenFunction &CGF,
2380 CodeGenFunction CGF(CGM, true);
tools/clang/lib/CodeGen/CGStmtOpenMP.cpp 27 class OMPLexicalScope : public CodeGenFunction::LexicalScope {
28 void emitPreInitStmt(CodeGenFunction &CGF, const OMPExecutableDirective &S) {
37 CodeGenFunction::AutoVarEmission Emission =
46 CodeGenFunction::OMPPrivateScope InlinedShareds;
48 static bool isCapturedVar(CodeGenFunction &CGF, const VarDecl *VD) {
56 CodeGenFunction &CGF, const OMPExecutableDirective &S,
98 OMPParallelScope(CodeGenFunction &CGF, const OMPExecutableDirective &S)
113 OMPTeamsScope(CodeGenFunction &CGF, const OMPExecutableDirective &S)
120 class OMPLoopScope : public CodeGenFunction::RunCleanupsScope {
121 void emitPreInitStmt(CodeGenFunction &CGF, const OMPLoopDirective &S) {
122 CodeGenFunction::OMPMapVars PreCondVars;
171 OMPLoopScope(CodeGenFunction &CGF, const OMPLoopDirective &S)
177 class OMPSimdLexicalScope : public CodeGenFunction::LexicalScope {
178 CodeGenFunction::OMPPrivateScope InlinedShareds;
180 static bool isCapturedVar(CodeGenFunction &CGF, const VarDecl *VD) {
188 OMPSimdLexicalScope(CodeGenFunction &CGF, const OMPExecutableDirective &S)
199 CodeGenFunction::AutoVarEmission Emission =
245 static void emitCommonOMPTargetDirective(CodeGenFunction &CGF,
331 static Address castValueFromUintptr(CodeGenFunction &CGF, SourceLocation Loc,
384 CodeGenFunction &CGF, FunctionArgList &Args,
578 CodeGenFunction::OMPPrivateScope LocalScope(*this);
599 CodeGenFunction WrapperCGF(CGM, /*suppressNewContext=*/true);
719 CodeGenFunction::OMPPrivateScope Remap(*this);
728 CodeGenFunction::OMPPrivateScope Remap(*this);
876 CodeGenFunction::OMPPrivateScope &PrivateScope) {
1103 CodeGenFunction::OMPPrivateScope &PrivateScope) {
1235 CodeGenFunction &CGF, const OMPExecutableDirective &D,
1236 const llvm::function_ref<llvm::Value *(CodeGenFunction &)> CondGen) {
1263 typedef llvm::function_ref<void(CodeGenFunction &,
1270 CodeGenFunction &CGF, const OMPExecutableDirective &S,
1278 CodeGenFunction::RunCleanupsScope NumThreadsScope(CGF);
1286 CodeGenFunction::RunCleanupsScope ProcBindScope(CGF);
1311 static void emitEmptyBoundParameters(CodeGenFunction &,
1396 const llvm::function_ref<void(CodeGenFunction &)> BodyGen,
1397 const llvm::function_ref<void(CodeGenFunction &)> PostIncGen) {
1481 const llvm::function_ref<llvm::Value *(CodeGenFunction &)> CondGen) {
1504 CodeGenFunction::OMPPrivateScope VarScope(*this);
1517 static void emitAlignedClause(CodeGenFunction &CGF,
1553 const OMPLoopDirective &S, CodeGenFunction::OMPPrivateScope &LoopScope) {
1602 static void emitPreCond(CodeGenFunction &CGF, const OMPLoopDirective &S,
1608 CodeGenFunction::OMPPrivateScope PreCondScope(CGF);
1618 CodeGenFunction::OMPMapVars PreCondVars;
1641 const OMPLoopDirective &D, CodeGenFunction::OMPPrivateScope &PrivateScope) {
1675 static void emitSimdlenSafelenClause(CodeGenFunction &CGF,
1712 const llvm::function_ref<llvm::Value *(CodeGenFunction &)> CondGen) {
1755 static void emitOMPLoopBodyWithStopPoint(CodeGenFunction &CGF,
1757 CodeGenFunction::JumpDest LoopExit) {
1763 static LValue EmitOMPHelperVar(CodeGenFunction &CGF,
1770 static void emitOMPSimdRegion(CodeGenFunction &CGF, const OMPLoopDirective &S,
1825 CodeGenFunction::OMPPrivateScope LoopScope(CGF);
1867 CodeGenFunction::OMPPrivateScope &LoopScope,
1868 const CodeGenFunction::OMPLoopArguments &LoopArgs,
1869 const CodeGenFunction::CodeGenLoopTy &CodeGenLoop,
1870 const CodeGenFunction::CodeGenOrderedTy &CodeGenOrdered) {
2077 static void emitEmptyOrdered(CodeGenFunction &, SourceLocation Loc,
2141 emitDistributeParallelForInnerBounds(CodeGenFunction &CGF,
2184 emitDistributeParallelForDispatchBounds(CodeGenFunction &CGF,
2202 CodeGenFunction &CGF, const OMPExecutableDirective &S,
2219 emitInnerParallelForWhenCombined(CodeGenFunction &CGF,
2221 CodeGenFunction::JumpDest LoopExit) {
2235 CodeGenFunction::OMPCancelStackRAII CancelRegion(CGF, S.getDirectiveKind(),
2536 emitForLoopBounds(CodeGenFunction &CGF, const OMPExecutableDirective &S) {
2550 emitDispatchForLoopBounds(CodeGenFunction &CGF, const OMPExecutableDirective &S,
2598 static LValue createSectionLVal(CodeGenFunction &CGF, QualType Ty,
2631 CodeGenFunction::OpaqueValueMapping OpaqueIV(CGF, &IVRefExpr, IV);
2633 CodeGenFunction::OpaqueValueMapping OpaqueUB(CGF, &UBRefExpr, UB);
2676 CodeGenFunction::OMPPrivateScope LoopScope(CGF);
3605 CodeGenFunction CGF(CGM, /*suppressNewContext=*/true);
3606 CodeGenFunction::CGCapturedStmtInfo CapStmtInfo;
3640 static llvm::Value *convertToScalarValue(CodeGenFunction &CGF, RValue Val,
3652 static CodeGenFunction::ComplexPairTy
3653 convertToComplexValue(CodeGenFunction &CGF, RValue Val, QualType SrcType,
3657 CodeGenFunction::ComplexPairTy ComplexVal;
3679 static void emitSimpleAtomicStore(CodeGenFunction &CGF, bool IsSeqCst,
3709 static void emitOMPAtomicReadExpr(CodeGenFunction &CGF, bool IsSeqCst,
3733 static void emitOMPAtomicWriteExpr(CodeGenFunction &CGF, bool IsSeqCst,
3747 static std::pair<bool, RValue> emitOMPAtomicRMW(CodeGenFunction &CGF, LValue X,
3865 static void emitOMPAtomicUpdateExpr(CodeGenFunction &CGF, bool IsSeqCst,
3889 CodeGenFunction::OpaqueValueMapping MapExpr(CGF, ERValExpr, ExprRValue);
3890 CodeGenFunction::OpaqueValueMapping MapX(CGF, XRValExpr, XRValue);
3903 static RValue convertToType(CodeGenFunction &CGF, RValue Value,
3920 static void emitOMPAtomicCaptureExpr(CodeGenFunction &CGF, bool IsSeqCst,
3953 CodeGenFunction::OpaqueValueMapping MapExpr(CGF, ERValExpr, ExprRValue);
3954 CodeGenFunction::OpaqueValueMapping MapX(CGF, XRValExpr, XRValue);
3969 CodeGenFunction::OpaqueValueMapping MapExpr(CGF, ERValExpr, ExprRValue);
3970 CodeGenFunction::OpaqueValueMapping MapX(CGF, XRValExpr, Res.second);
4002 static void emitOMPAtomicExpr(CodeGenFunction &CGF, OpenMPClauseKind Kind,
4114 static void emitCommonOMPTargetDirective(CodeGenFunction &CGF,
4193 static void emitTargetRegion(CodeGenFunction &CGF, const OMPTargetDirective &S,
4196 CodeGenFunction::OMPPrivateScope PrivateScope(CGF);
4227 static void emitCommonOMPTeamsDirective(CodeGenFunction &CGF,
4270 static void emitTargetTeamsRegion(CodeGenFunction &CGF, PrePostActionTy &Action,
4277 CodeGenFunction::OMPPrivateScope PrivateScope(CGF);
4315 emitTargetTeamsDistributeRegion(CodeGenFunction &CGF, PrePostActionTy &Action,
4326 CodeGenFunction::OMPPrivateScope PrivateScope(CGF);
4361 CodeGenFunction &CGF, PrePostActionTy &Action,
4372 CodeGenFunction::OMPPrivateScope PrivateScope(CGF);
4498 CodeGenFunction &CGF, const OMPTargetTeamsDistributeParallelForDirective &S,
4510 CodeGenFunction::OMPPrivateScope PrivateScope(CGF);
4549 CodeGenFunction &CGF,
4562 CodeGenFunction::OMPPrivateScope PrivateScope(CGF);
4619 CodeGenFunction::JumpDest
4712 void Enter(CodeGenFunction &CGF) override {
4829 static void emitTargetParallelRegion(CodeGenFunction &CGF,
4837 CodeGenFunction::OMPPrivateScope PrivateScope(CGF);
4876 static void emitTargetParallelForRegion(CodeGenFunction &CGF,
4884 CodeGenFunction::OMPCancelStackRAII CancelRegion(
4917 emitTargetParallelForSimdRegion(CodeGenFunction &CGF,
4956 static void mapParam(CodeGenFunction &CGF, const DeclRefExpr *Helper,
4958 CodeGenFunction::OMPPrivateScope &Privates) {
tools/clang/lib/CodeGen/CGVTables.cpp 68 static RValue PerformReturnAdjustment(CodeGenFunction &CGF,
tools/clang/lib/CodeGen/CodeGenFunction.cpp 288 static void EmitIfUsed(CodeGenFunction &CGF, llvm::BasicBlock *BB) {
1353 if (!AllowLabels && CodeGenFunction::ContainsLabel(Cond))
1574 static void emitNonZeroVLAInit(CodeGenFunction &CGF, QualType baseType,
1810 CodeGenFunction::VlaSizePair CodeGenFunction::getVLASize(QualType type) {
1816 CodeGenFunction::VlaSizePair
1840 CodeGenFunction::VlaSizePair
1847 CodeGenFunction::VlaSizePair
2018 CodeGenFunction::PeepholeProtection
2119 CodeGenFunction::SanitizerScope::SanitizerScope(CodeGenFunction *CGF)
tools/clang/lib/CodeGen/CodeGenFunction.h 157 static saved_type save(CodeGenFunction &CGF, llvm::Value *value);
158 static llvm::Value *restore(CodeGenFunction &CGF, saved_type value);
165 static type restore(CodeGenFunction &CGF, saved_type value) {
182 static saved_type save(CodeGenFunction &CGF, type value) {
186 static type restore(CodeGenFunction &CGF, saved_type value) {
207 static saved_type save(CodeGenFunction &CGF, RValue value);
208 RValue restore(CodeGenFunction &CGF);
216 static saved_type save(CodeGenFunction &CGF, type value) {
219 static type restore(CodeGenFunction &CGF, saved_type value) {
227 CodeGenFunction(const CodeGenFunction &) = delete;
228 void operator=(const CodeGenFunction &) = delete;
269 typedef llvm::function_ref<void(CodeGenFunction &, const OMPLoopDirective &,
272 typedef llvm::function_ref<void(CodeGenFunction &, SourceLocation,
278 CodeGenFunction &, const OMPExecutableDirective &S)>
283 CodeGenFunction &, const OMPExecutableDirective &S, Address LB,
389 virtual void EmitBody(CodeGenFunction &CGF, const Stmt *S) {
416 CodeGenFunction &CGF;
419 CGCapturedStmtRAII(CodeGenFunction &CGF,
460 CodeGenFunction *CGF;
462 SanitizerScope(CodeGenFunction *CGF);
511 void Emit(CodeGenFunction &CGF, Flags flags) override {
589 void enter(CodeGenFunction &CGF, const Stmt *Finally,
592 void exit(CodeGenFunction &CGF);
720 CodeGenFunction& CGF;
724 explicit RunCleanupsScope(CodeGenFunction &CGF)
777 explicit LexicalScope(CodeGenFunction &CGF, SourceRange Range)
838 bool setVarAddr(CodeGenFunction &CGF, const VarDecl *LocalVD,
866 bool apply(CodeGenFunction &CGF) {
873 void restore(CodeGenFunction &CGF) {
909 explicit OMPPrivateScope(CodeGenFunction &CGF) : RunCleanupsScope(CGF) {}
1007 ConditionalEvaluation(CodeGenFunction &CGF)
1010 void begin(CodeGenFunction &CGF) {
1016 void end(CodeGenFunction &CGF) {
1043 CodeGenFunction &CGF;
1051 StmtExprEvaluation(CodeGenFunction &CGF)
1082 CodeGenFunction::PeepholeProtection Protection;
1101 static OpaqueValueMappingData bind(CodeGenFunction &CGF,
1109 static OpaqueValueMappingData bind(CodeGenFunction &CGF,
1117 static OpaqueValueMappingData bind(CodeGenFunction &CGF,
1136 void unbind(CodeGenFunction &CGF) {
1150 CodeGenFunction &CGF;
1163 OpaqueValueMapping(CodeGenFunction &CGF,
1176 OpaqueValueMapping(CodeGenFunction &CGF, const OpaqueValueExpr *OV)
1185 OpaqueValueMapping(CodeGenFunction &CGF,
1191 OpaqueValueMapping(CodeGenFunction &CGF,
1282 void emitExit(CodeGenFunction &CGF, OpenMPDirectiveKind Kind,
1283 const llvm::function_ref<void(CodeGenFunction &)> CodeGen) {
1301 void enter(CodeGenFunction &CGF, OpenMPDirectiveKind Kind, bool HasCancel) {
1310 void exit(CodeGenFunction &CGF) {
1417 FieldConstructionScope(CodeGenFunction &CGF, Address This)
1426 CodeGenFunction &CGF;
1434 CXXDefaultInitExprScope(CodeGenFunction &CGF, const CXXDefaultInitExpr *E)
1447 CodeGenFunction &CGF;
1454 CXXDefaultArgExprScope(CodeGenFunction &CGF, const CXXDefaultArgExpr *E)
1462 ArrayInitLoopExprScope(CodeGenFunction &CGF, llvm::Value *Index)
1471 CodeGenFunction &CGF;
1477 InlinedInheritingConstructorScope(CodeGenFunction &CGF, GlobalDecl GD)
1516 CodeGenFunction &CGF;
1669 typedef void Destroyer(CodeGenFunction &CGF, Address addr, QualType ty);
2677 typedef void SpecialInitFn(CodeGenFunction &Init, const VarDecl &D,
2753 Address getObjectAddress(CodeGenFunction &CGF) const {
2920 void startOutlinedSEHHelper(CodeGenFunction &ParentCGF, bool IsFilter,
2923 llvm::Function *GenerateSEHFilterFunction(CodeGenFunction &ParentCGF,
2926 llvm::Function *GenerateSEHFinallyFunction(CodeGenFunction &ParentCGF,
2929 void EmitSEHExceptionCodeSave(CodeGenFunction &ParentCGF,
2942 void EmitCapturedLocals(CodeGenFunction &ParentCGF, const Stmt *OutlinedStmt,
2950 Address recoverAddrOfEscapedLocal(CodeGenFunction &ParentCGF,
2959 CodeGenFunction &CGF;
2962 OMPCancelStackRAII(CodeGenFunction &CGF, OpenMPDirectiveKind Kind,
3069 CodeGenFunction::OMPPrivateScope &PrivateScope);
3075 const llvm::function_ref<llvm::Value *(CodeGenFunction &)> CondGen);
3100 typedef const llvm::function_ref<void(CodeGenFunction & /*CGF*/,
3242 const llvm::function_ref<void(CodeGenFunction &)> BodyGen,
3243 const llvm::function_ref<void(CodeGenFunction &)> PostIncGen);
3268 const llvm::function_ref<llvm::Value *(CodeGenFunction &)> CondGen);
3545 LValue getReferenceLValue(CodeGenFunction &CGF, Expr *refExpr) const {
4373 DominatingLLVMValue::save(CodeGenFunction &CGF, llvm::Value *value) {
4386 inline llvm::Value *DominatingLLVMValue::restore(CodeGenFunction &CGF,
tools/clang/lib/CodeGen/CodeGenModule.cpp 1265 CodeGenFunction *CGF) {
2842 const CodeGenFunction::MultiVersionResolverOption &RO) {
2855 SmallVector<CodeGenFunction::MultiVersionResolverOption, 10> Options;
2905 CodeGenFunction CGF(*this);
2943 SmallVector<CodeGenFunction::MultiVersionResolverOption, 10> Options;
2985 return CodeGenFunction::GetX86CpuSupportsMask(LHS.Conditions.Features) >
2986 CodeGenFunction::GetX86CpuSupportsMask(RHS.Conditions.Features);
2994 CodeGenFunction::GetX86CpuSupportsMask(
3004 CodeGenFunction CGF(*this);
5137 CodeGenFunction CGF(CGM);
5923 CodeGenFunction &CGF) {
tools/clang/lib/CodeGen/CodeGenModule.h 269 virtual void emitCopy(CodeGenFunction &CGF, Address dest, Address src) = 0;
272 virtual void emitDispose(CodeGenFunction &CGF, Address field) = 0;
1072 CodeGenFunction *CGF = nullptr);
1274 CodeGenFunction *CGF = nullptr);
1278 CodeGenFunction *CGF = nullptr);
1348 createOpenCLIntToSamplerConversion(const Expr *E, CodeGenFunction &CGF);
1362 CodeGenFunction *CGF = nullptr);
tools/clang/lib/CodeGen/CodeGenPGO.cpp 776 CodeGenFunction::IsConstructorDelegationValid(CCD))
tools/clang/lib/CodeGen/ConstantEmitter.h 26 CodeGenFunction *CGF;
51 ConstantEmitter(CodeGenModule &CGM, CodeGenFunction *CGF = nullptr)
57 ConstantEmitter(CodeGenFunction &CGF)
tools/clang/lib/CodeGen/EHScopeStack.h 59 static saved_type save(CodeGenFunction &CGF, type value) { return value; }
60 static type restore(CodeGenFunction &CGF, saved_type value) { return value; }
191 virtual void Emit(CodeGenFunction &CGF, Flags flags) = 0;
202 T restore(CodeGenFunction &CGF, std::index_sequence<Is...>) {
208 void Emit(CodeGenFunction &CGF, Flags flags) override {
tools/clang/lib/CodeGen/ItaniumCXXABI.cpp 120 EmitLoadOfMemberFunctionPointer(CodeGenFunction &CGF,
128 EmitMemberDataPointerAddress(CodeGenFunction &CGF, const Expr *E,
133 llvm::Value *EmitMemberPointerConversion(CodeGenFunction &CGF,
148 llvm::Value *EmitMemberPointerComparison(CodeGenFunction &CGF,
153 llvm::Value *EmitMemberPointerIsNotNull(CodeGenFunction &CGF,
157 void emitVirtualObjectDelete(CodeGenFunction &CGF, const CXXDeleteExpr *DE,
161 void emitRethrow(CodeGenFunction &CGF, bool isNoReturn) override;
162 void emitThrow(CodeGenFunction &CGF, const CXXThrowExpr *E) override;
164 void emitBeginCatch(CodeGenFunction &CGF, const CXXCatchStmt *C) override;
167 emitTerminateForUnexpectedException(CodeGenFunction &CGF,
179 void EmitBadTypeidCall(CodeGenFunction &CGF) override;
180 llvm::Value *EmitTypeid(CodeGenFunction &CGF, QualType SrcRecordTy,
187 llvm::Value *EmitDynamicCastCall(CodeGenFunction &CGF, Address Value,
192 llvm::Value *EmitDynamicCastToVoid(CodeGenFunction &CGF, Address Value,
196 bool EmitBadCastCall(CodeGenFunction &CGF) override;
199 GetVirtualBaseClassOffset(CodeGenFunction &CGF, Address This,
219 void addImplicitStructorParams(CodeGenFunction &CGF, QualType &ResTy,
222 void EmitInstanceFunctionProlog(CodeGenFunction &CGF) override;
225 addImplicitConstructorArgs(CodeGenFunction &CGF, const CXXConstructorDecl *D,
229 void EmitDestructorCall(CodeGenFunction &CGF, const CXXDestructorDecl *DD,
237 bool isVirtualOffsetNeededForVTableField(CodeGenFunction &CGF,
238 CodeGenFunction::VPtr Vptr) override;
249 CodeGenFunction &CGF, const CXXRecordDecl *VTableClass,
253 CodeGenFunction &CGF, const CXXRecordDecl *VTableClass,
263 CGCallee getVirtualFunctionPointer(CodeGenFunction &CGF, GlobalDecl GD,
267 llvm::Value *EmitVirtualDestructorCall(CodeGenFunction &CGF,
288 llvm::Value *performThisAdjustment(CodeGenFunction &CGF, Address This,
291 llvm::Value *performReturnAdjustment(CodeGenFunction &CGF, Address Ret,
305 Address InitializeArrayCookie(CodeGenFunction &CGF,
310 llvm::Value *readArrayCookieImpl(CodeGenFunction &CGF,
314 void EmitGuardedInit(CodeGenFunction &CGF, const VarDecl &D,
317 void registerGlobalDtor(CodeGenFunction &CGF, const VarDecl &D,
366 LValue EmitThreadLocalVarDeclLValue(CodeGenFunction &CGF, const VarDecl *VD,
405 LoadVTablePtr(CodeGenFunction &CGF, Address This,
467 void EmitReturnFromThunk(CodeGenFunction &CGF, RValue RV,
471 Address InitializeArrayCookie(CodeGenFunction &CGF,
476 llvm::Value *readArrayCookieImpl(CodeGenFunction &CGF, Address allocPtr,
495 void emitBeginCatch(CodeGenFunction &CGF, const CXXCatchStmt *C) override;
576 CodeGenFunction &CGF, const Expr *E, Address ThisAddr,
659 CodeGenFunction::SanitizerScope SanScope(&CGF);
707 llvm::ConstantInt::get(CGF.Int8Ty, CodeGenFunction::CFITCK_VMFCall),
741 CodeGenFunction::SanitizerScope SanScope(&CGF);
744 llvm::ConstantInt::get(CGF.Int8Ty, CodeGenFunction::CFITCK_NVMFCall),
787 CodeGenFunction &CGF, const Expr *E, Address Base, llvm::Value *MemPtr,
831 ItaniumCXXABI::EmitMemberPointerConversion(CodeGenFunction &CGF,
1040 ItaniumCXXABI::EmitMemberPointerComparison(CodeGenFunction &CGF,
1114 ItaniumCXXABI::EmitMemberPointerIsNotNull(CodeGenFunction &CGF,
1169 void ItaniumCXXABI::emitVirtualObjectDelete(CodeGenFunction &CGF,
1211 void ItaniumCXXABI::emitRethrow(CodeGenFunction &CGF, bool isNoReturn) {
1245 void ItaniumCXXABI::emitThrow(CodeGenFunction &CGF, const CXXThrowExpr *E) {
1279 static llvm::FunctionCallee getItaniumDynamicCastFn(CodeGenFunction &CGF) {
1302 static llvm::FunctionCallee getBadCastFn(CodeGenFunction &CGF) {
1360 static llvm::FunctionCallee getBadTypeidFn(CodeGenFunction &CGF) {
1372 void ItaniumCXXABI::EmitBadTypeidCall(CodeGenFunction &CGF) {
1379 llvm::Value *ItaniumCXXABI::EmitTypeid(CodeGenFunction &CGF,
1399 CodeGenFunction &CGF, Address ThisAddr, QualType SrcRecordTy,
1441 llvm::Value *ItaniumCXXABI::EmitDynamicCastToVoid(CodeGenFunction &CGF,
1470 bool ItaniumCXXABI::EmitBadCastCall(CodeGenFunction &CGF) {
1479 ItaniumCXXABI::GetVirtualBaseClassOffset(CodeGenFunction &CGF,
1552 void ItaniumCXXABI::addImplicitStructorParams(CodeGenFunction &CGF,
1572 void ItaniumCXXABI::EmitInstanceFunctionProlog(CodeGenFunction &CGF) {
1600 CodeGenFunction &CGF, const CXXConstructorDecl *D, CXXCtorType Type,
1613 void ItaniumCXXABI::EmitDestructorCall(CodeGenFunction &CGF,
1676 CodeGenFunction &CGF, CodeGenFunction::VPtr Vptr) {
1676 CodeGenFunction &CGF, CodeGenFunction::VPtr Vptr) {
1683 CodeGenFunction &CGF, const CXXRecordDecl *VTableClass, BaseSubobject Base,
1717 CodeGenFunction &CGF, const CXXRecordDecl *VTableClass, BaseSubobject Base,
1774 CGCallee ItaniumCXXABI::getVirtualFunctionPointer(CodeGenFunction &CGF,
1817 CodeGenFunction &CGF, const CXXDestructorDecl *Dtor, CXXDtorType DtorType,
1906 static llvm::Value *performTypeAdjustment(CodeGenFunction &CGF,
1957 llvm::Value *ItaniumCXXABI::performThisAdjustment(CodeGenFunction &CGF,
1966 ItaniumCXXABI::performReturnAdjustment(CodeGenFunction &CGF, Address Ret,
1973 void ARMCXXABI::EmitReturnFromThunk(CodeGenFunction &CGF,
1993 Address ItaniumCXXABI::InitializeArrayCookie(CodeGenFunction &CGF,
2039 llvm::Value *ItaniumCXXABI::readArrayCookieImpl(CodeGenFunction &CGF,
2078 Address ARMCXXABI::InitializeArrayCookie(CodeGenFunction &CGF,
2104 llvm::Value *ARMCXXABI::readArrayCookieImpl(CodeGenFunction &CGF,
2160 void Emit(CodeGenFunction &CGF, Flags flags) override {
2169 void ItaniumCXXABI::EmitGuardedInit(CodeGenFunction &CGF,
2317 CodeGenFunction::GuardKind::VariableGuard, &D);
2356 static void emitGlobalDtorWithCXAAtExit(CodeGenFunction &CGF,
2420 CodeGenFunction CGF(*this);
2453 void ItaniumCXXABI::registerGlobalDtor(CodeGenFunction &CGF, const VarDecl &D,
2716 LValue ItaniumCXXABI::EmitThreadLocalVarDeclLValue(CodeGenFunction &CGF,
4060 void Emit(CodeGenFunction &CGF, Flags flags) override {
4075 static llvm::Value *CallBeginCatch(CodeGenFunction &CGF,
4088 static void InitCatchParam(CodeGenFunction &CGF,
4242 CodeGenFunction::OpaqueValueMapping
4269 void ItaniumCXXABI::emitBeginCatch(CodeGenFunction &CGF,
4302 CodeGenFunction::AutoVarEmission var = CGF.EmitAutoVarAlloca(*CatchParam);
4359 ItaniumCXXABI::emitTerminateForUnexpectedException(CodeGenFunction &CGF,
4370 ItaniumCXXABI::LoadVTablePtr(CodeGenFunction &CGF, Address This,
4375 void WebAssemblyCXXABI::emitBeginCatch(CodeGenFunction &CGF,
tools/clang/lib/CodeGen/MicrosoftCXXABI.cpp 114 void emitVirtualObjectDelete(CodeGenFunction &CGF, const CXXDeleteExpr *DE,
118 void emitRethrow(CodeGenFunction &CGF, bool isNoReturn) override;
119 void emitThrow(CodeGenFunction &CGF, const CXXThrowExpr *E) override;
121 void emitBeginCatch(CodeGenFunction &CGF, const CXXCatchStmt *C) override;
136 void EmitBadTypeidCall(CodeGenFunction &CGF) override;
137 llvm::Value *EmitTypeid(CodeGenFunction &CGF, QualType SrcRecordTy,
144 llvm::Value *EmitDynamicCastCall(CodeGenFunction &CGF, Address Value,
149 llvm::Value *EmitDynamicCastToVoid(CodeGenFunction &CGF, Address Value,
153 bool EmitBadCastCall(CodeGenFunction &CGF) override;
159 GetVirtualBaseClassOffset(CodeGenFunction &CGF, Address This,
164 EmitCtorCompleteObjectHandler(CodeGenFunction &CGF,
168 EmitDtorCompleteObjectHandler(CodeGenFunction &CGF);
170 void initializeHiddenVirtualInheritanceMembers(CodeGenFunction &CGF,
245 adjustThisArgumentForVirtualFunctionCall(CodeGenFunction &CGF, GlobalDecl GD,
249 void addImplicitStructorParams(CodeGenFunction &CGF, QualType &ResTy,
252 void EmitInstanceFunctionProlog(CodeGenFunction &CGF) override;
255 addImplicitConstructorArgs(CodeGenFunction &CGF, const CXXConstructorDecl *D,
259 void EmitDestructorCall(CodeGenFunction &CGF, const CXXDestructorDecl *DD,
270 bool isVirtualOffsetNeededForVTableField(CodeGenFunction &CGF,
271 CodeGenFunction::VPtr Vptr) override;
284 CodeGenFunction &CGF, const CXXRecordDecl *VTableClass,
294 CGCallee getVirtualFunctionPointer(CodeGenFunction &CGF, GlobalDecl GD,
298 llvm::Value *EmitVirtualDestructorCall(CodeGenFunction &CGF,
303 void adjustCallArgsForDestructorThunk(CodeGenFunction &CGF, GlobalDecl GD,
378 llvm::Value *performThisAdjustment(CodeGenFunction &CGF, Address This,
381 llvm::Value *performReturnAdjustment(CodeGenFunction &CGF, Address Ret,
392 LValue EmitThreadLocalVarDeclLValue(CodeGenFunction &CGF, const VarDecl *VD,
395 void EmitGuardedInit(CodeGenFunction &CGF, const VarDecl &D,
398 void registerGlobalDtor(CodeGenFunction &CGF, const VarDecl &D,
429 Address InitializeArrayCookie(CodeGenFunction &CGF,
434 llvm::Value *readArrayCookieImpl(CodeGenFunction &CGF,
573 llvm::Value *GetVBaseOffsetFromVBPtr(CodeGenFunction &CGF,
579 llvm::Value *GetVBaseOffsetFromVBPtr(CodeGenFunction &CGF,
591 performBaseAdjustment(CodeGenFunction &CGF, Address Value,
596 llvm::Value *AdjustVirtualBase(CodeGenFunction &CGF, const Expr *E,
613 void EmitVBPtrStores(CodeGenFunction &CGF, const CXXRecordDecl *RD);
639 llvm::Value *EmitMemberPointerComparison(CodeGenFunction &CGF,
645 llvm::Value *EmitMemberPointerIsNotNull(CodeGenFunction &CGF,
650 EmitMemberDataPointerAddress(CodeGenFunction &CGF, const Expr *E,
660 llvm::Value *EmitMemberPointerConversion(CodeGenFunction &CGF,
673 EmitLoadOfMemberFunctionPointer(CodeGenFunction &CGF, const Expr *E,
759 LoadVTablePtr(CodeGenFunction &CGF, Address This,
840 void MicrosoftCXXABI::emitVirtualObjectDelete(CodeGenFunction &CGF,
854 void MicrosoftCXXABI::emitRethrow(CodeGenFunction &CGF, bool isNoReturn) {
865 void MicrosoftCXXABI::emitBeginCatch(CodeGenFunction &CGF,
882 CodeGenFunction::AutoVarEmission var = CGF.EmitAutoVarAlloca(*CatchParam);
892 MicrosoftCXXABI::performBaseAdjustment(CodeGenFunction &CGF, Address Value,
932 static llvm::CallBase *emitRTtypeidCall(CodeGenFunction &CGF,
942 void MicrosoftCXXABI::EmitBadTypeidCall(CodeGenFunction &CGF) {
949 llvm::Value *MicrosoftCXXABI::EmitTypeid(CodeGenFunction &CGF,
967 CodeGenFunction &CGF, Address This, QualType SrcRecordTy,
1001 MicrosoftCXXABI::EmitDynamicCastToVoid(CodeGenFunction &CGF, Address Value,
1017 bool MicrosoftCXXABI::EmitBadCastCall(CodeGenFunction &CGF) {
1022 CodeGenFunction &CGF, Address This, const CXXRecordDecl *ClassDecl,
1112 MicrosoftCXXABI::EmitCtorCompleteObjectHandler(CodeGenFunction &CGF,
1136 MicrosoftCXXABI::EmitDtorCompleteObjectHandler(CodeGenFunction &CGF) {
1155 CodeGenFunction &CGF, const CXXRecordDecl *RD) {
1233 void MicrosoftCXXABI::EmitVBPtrStores(CodeGenFunction &CGF,
1380 CodeGenFunction &CGF, GlobalDecl GD, Address This,
1448 void MicrosoftCXXABI::addImplicitStructorParams(CodeGenFunction &CGF,
1477 void MicrosoftCXXABI::EmitInstanceFunctionProlog(CodeGenFunction &CGF) {
1545 CodeGenFunction &CGF, const CXXConstructorDecl *D, CXXCtorType Type,
1570 void MicrosoftCXXABI::EmitDestructorCall(CodeGenFunction &CGF,
1682 CodeGenFunction &CGF, CodeGenFunction::VPtr Vptr) {
1682 CodeGenFunction &CGF, CodeGenFunction::VPtr Vptr) {
1687 CodeGenFunction &CGF, const CXXRecordDecl *VTableClass, BaseSubobject Base,
1856 CGCallee MicrosoftCXXABI::getVirtualFunctionPointer(CodeGenFunction &CGF,
1904 CodeGenFunction &CGF, const CXXDestructorDecl *Dtor, CXXDtorType DtorType,
2008 CodeGenFunction CGF(CGM);
2126 llvm::Value *MicrosoftCXXABI::performThisAdjustment(CodeGenFunction &CGF,
2179 MicrosoftCXXABI::performReturnAdjustment(CodeGenFunction &CGF, Address Ret,
2226 llvm::Value *MicrosoftCXXABI::readArrayCookieImpl(CodeGenFunction &CGF,
2234 Address MicrosoftCXXABI::InitializeArrayCookie(CodeGenFunction &CGF,
2257 static void emitGlobalDtorWithTLRegDtor(CodeGenFunction &CGF, const VarDecl &VD,
2276 void MicrosoftCXXABI::registerGlobalDtor(CodeGenFunction &CGF, const VarDecl &D,
2341 LValue MicrosoftCXXABI::EmitThreadLocalVarDeclLValue(CodeGenFunction &CGF,
2405 void Emit(CodeGenFunction &CGF, Flags flags) override {
2420 void Emit(CodeGenFunction &CGF, Flags flags) override {
2427 void MicrosoftCXXABI::EmitGuardedInit(CodeGenFunction &CGF, const VarDecl &D,
2531 CodeGenFunction::GuardKind::VariableGuard, &D);
2567 CodeGenFunction::GuardKind::VariableGuard, &D);
2817 MicrosoftCXXABI::EmitMemberPointerComparison(CodeGenFunction &CGF,
2877 MicrosoftCXXABI::EmitMemberPointerIsNotNull(CodeGenFunction &CGF,
2939 MicrosoftCXXABI::GetVBaseOffsetFromVBPtr(CodeGenFunction &CGF,
2978 CodeGenFunction &CGF, const Expr *E, const CXXRecordDecl *RD,
3034 CodeGenFunction &CGF, const Expr *E, Address Base, llvm::Value *MemPtr,
3079 MicrosoftCXXABI::EmitMemberPointerConversion(CodeGenFunction &CGF,
3324 CodeGenFunction &CGF, const Expr *E, Address This,
3911 CodeGenFunction CGF(CGM);
3972 CodeGenFunction::RunCleanupsScope Cleanups(CGF);
4272 void MicrosoftCXXABI::emitThrow(CodeGenFunction &CGF, const CXXThrowExpr *E) {
4294 MicrosoftCXXABI::LoadVTablePtr(CodeGenFunction &CGF, Address This,
tools/clang/lib/CodeGen/TargetInfo.cpp 75 return !CodeGenFunction::hasScalarEvaluationKind(T) ||
92 Address ABIInfo::EmitMSVAArg(CodeGenFunction &CGF, Address VAListAddr,
257 static llvm::Value *emitRoundPointerUpToAlignment(CodeGenFunction &CGF,
287 static Address emitVoidPtrDirectVAArg(CodeGenFunction &CGF,
340 static Address emitVoidPtrVAArg(CodeGenFunction &CGF, Address VAListAddr,
373 static Address emitMergePHI(CodeGenFunction &CGF,
446 CodeGen::CodeGenFunction &CGF, llvm::Value *Src, LangAS SrcAddr,
607 Address EmitVAArgInstr(CodeGenFunction &CGF, Address VAListAddr, QualType Ty,
673 Address EmitVAArg(CodeGenFunction &CGF, Address VAListAddr,
747 Address EmitVAArg(CodeGenFunction &CGF, Address VAListAddr,
834 Address WebAssemblyABIInfo::EmitVAArg(CodeGenFunction &CGF, Address VAListAddr,
860 Address EmitVAArg(CodeGenFunction &CGF,
878 Address PNaClABIInfo::EmitVAArg(CodeGenFunction &CGF, Address VAListAddr,
931 static llvm::Type* X86AdjustInlineAsmType(CodeGen::CodeGenFunction &CGF,
1073 Address EmitVAArg(CodeGenFunction &CGF, Address VAListAddr,
1122 bool initDwarfEHRegSizeTable(CodeGen::CodeGenFunction &CGF,
1125 llvm::Type* adjustInlineAsmType(CodeGen::CodeGenFunction &CGF,
1131 void addReturnRegisterOutputs(CodeGenFunction &CGF, LValue ReturnValue,
1203 CodeGenFunction &CGF, LValue ReturnSlot, std::string &Constraints,
1936 Address X86_32ABIInfo::EmitVAArg(CodeGenFunction &CGF,
1997 CodeGen::CodeGenFunction &CGF,
2220 Address EmitVAArg(CodeGenFunction &CGF, Address VAListAddr,
2222 Address EmitMSVAArg(CodeGenFunction &CGF, Address VAListAddr,
2247 Address EmitVAArg(CodeGenFunction &CGF, Address VAListAddr,
2302 bool initDwarfEHRegSizeTable(CodeGen::CodeGenFunction &CGF,
2312 llvm::Type* adjustInlineAsmType(CodeGen::CodeGenFunction &CGF,
2439 bool initDwarfEHRegSizeTable(CodeGen::CodeGenFunction &CGF,
3680 static Address EmitX86_64VAArgFromMemory(CodeGenFunction &CGF,
3719 Address X86_64ABIInfo::EmitVAArg(CodeGenFunction &CGF, Address VAListAddr,
3905 Address X86_64ABIInfo::EmitMSVAArg(CodeGenFunction &CGF, Address VAListAddr,
4106 Address WinX86_64ABIInfo::EmitVAArg(CodeGenFunction &CGF, Address VAListAddr,
4136 Address EmitVAArg(CodeGenFunction &CGF, Address VAListAddr,
4150 bool initDwarfEHRegSizeTable(CodeGen::CodeGenFunction &CGF,
4181 Address PPC32_SVR4_ABIInfo::EmitVAArg(CodeGenFunction &CGF, Address VAList,
4335 PPC32TargetCodeGenInfo::initDwarfEHRegSizeTable(CodeGen::CodeGenFunction &CGF,
4464 Address EmitVAArg(CodeGenFunction &CGF, Address VAListAddr,
4491 bool initDwarfEHRegSizeTable(CodeGen::CodeGenFunction &CGF,
4504 bool initDwarfEHRegSizeTable(CodeGen::CodeGenFunction &CGF,
4858 Address PPC64_SVR4_ABIInfo::EmitVAArg(CodeGenFunction &CGF, Address VAListAddr,
4908 PPC64_initDwarfEHRegSizeTable(CodeGen::CodeGenFunction &CGF,
4956 CodeGen::CodeGenFunction &CGF,
4963 PPC64TargetCodeGenInfo::initDwarfEHRegSizeTable(CodeGen::CodeGenFunction &CGF,
5011 CodeGenFunction &CGF) const;
5014 CodeGenFunction &CGF) const;
5016 Address EmitVAArg(CodeGenFunction &CGF, Address VAListAddr,
5023 Address EmitMSVAArg(CodeGenFunction &CGF, Address VAListAddr,
5301 CodeGenFunction &CGF) const {
5546 CodeGenFunction &CGF) const {
5579 Address AArch64ABIInfo::EmitMSVAArg(CodeGenFunction &CGF, Address VAListAddr,
5658 Address EmitVAArg(CodeGenFunction &CGF, Address VAListAddr,
5693 bool initDwarfEHRegSizeTable(CodeGen::CodeGenFunction &CGF,
6285 Address ARMABIInfo::EmitVAArg(CodeGenFunction &CGF, Address VAListAddr,
6348 Address EmitVAArg(CodeGenFunction &CGF, Address VAListAddr,
6457 Address NVPTXABIInfo::EmitVAArg(CodeGenFunction &CGF, Address VAListAddr,
6564 Address EmitVAArg(CodeGenFunction &CGF, Address VAListAddr,
6674 Address SystemZABIInfo::EmitVAArg(CodeGenFunction &CGF, Address VAListAddr,
6949 Address EmitVAArg(CodeGenFunction &CGF, Address VAListAddr,
7013 bool initDwarfEHRegSizeTable(CodeGen::CodeGenFunction &CGF,
7247 Address MipsABIInfo::EmitVAArg(CodeGenFunction &CGF, Address VAListAddr,
7309 MIPSTargetCodeGenInfo::initDwarfEHRegSizeTable(CodeGen::CodeGenFunction &CGF,
7446 Address EmitVAArg(CodeGenFunction &CGF, Address VAListAddr,
7537 Address HexagonABIInfo::EmitVAArg(CodeGenFunction &CGF, Address VAListAddr,
7697 Address EmitVAArg(CodeGenFunction &CGF, Address VAListAddr,
7762 Address AMDGPUABIInfo::EmitVAArg(CodeGenFunction &CGF, Address VAListAddr,
7911 createEnqueuedBlockKernel(CodeGenFunction &CGF,
8192 Address EmitVAArg(CodeGenFunction &CGF, Address VAListAddr,
8351 Address SparcV9ABIInfo::EmitVAArg(CodeGenFunction &CGF, Address VAListAddr,
8422 bool initDwarfEHRegSizeTable(CodeGen::CodeGenFunction &CGF,
8428 SparcV9TargetCodeGenInfo::initDwarfEHRegSizeTable(CodeGen::CodeGenFunction &CGF,
8469 Address EmitVAArg(CodeGenFunction &CGF, Address VAListAddr,
8526 Address ARCABIInfo::EmitVAArg(CodeGenFunction &CGF, Address VAListAddr,
8694 Address EmitVAArg(CodeGenFunction &CGF, Address VAListAddr,
8711 Address XCoreABIInfo::EmitVAArg(CodeGenFunction &CGF, Address VAListAddr,
9272 Address EmitVAArg(CodeGenFunction &CGF, Address VAListAddr,
9634 Address RISCVABIInfo::EmitVAArg(CodeGenFunction &CGF, Address VAListAddr,
9888 TargetCodeGenInfo::createEnqueuedBlockKernel(CodeGenFunction &CGF,
9922 CodeGenFunction &CGF, llvm::Function *Invoke,
tools/clang/lib/CodeGen/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,
255 virtual llvm::Value *performAddrSpaceCast(CodeGen::CodeGenFunction &CGF,
291 getCustomFieldValues(CodeGenFunction &CGF, const CGBlockInfo &Info) = 0;
308 createEnqueuedBlockKernel(CodeGenFunction &CGF,
usr/include/c++/7.4.0/bits/move.h 72 constexpr _Tp&&
83 constexpr _Tp&&
usr/include/c++/7.4.0/type_traits 1633 { typedef _Tp type; };