Lines Matching refs:CodeGenFunction
29 class OMPLexicalScope : public CodeGenFunction::LexicalScope {
30 void emitPreInitStmt(CodeGenFunction &CGF, const OMPExecutableDirective &S) { in emitPreInitStmt()
39 CodeGenFunction::AutoVarEmission Emission = in emitPreInitStmt()
48 CodeGenFunction::OMPPrivateScope InlinedShareds;
50 static bool isCapturedVar(CodeGenFunction &CGF, const VarDecl *VD) { in isCapturedVar()
58 CodeGenFunction &CGF, const OMPExecutableDirective &S, in OMPLexicalScope()
61 : CodeGenFunction::LexicalScope(CGF, S.getSourceRange()), in OMPLexicalScope()
100 OMPParallelScope(CodeGenFunction &CGF, const OMPExecutableDirective &S) in OMPParallelScope()
115 OMPTeamsScope(CodeGenFunction &CGF, const OMPExecutableDirective &S) in OMPTeamsScope()
122 class OMPLoopScope : public CodeGenFunction::RunCleanupsScope {
123 void emitPreInitStmt(CodeGenFunction &CGF, const OMPLoopDirective &S) { in emitPreInitStmt()
124 CodeGenFunction::OMPMapVars PreCondVars; in emitPreInitStmt()
139 OMPLoopScope(CodeGenFunction &CGF, const OMPLoopDirective &S) in OMPLoopScope()
140 : CodeGenFunction::RunCleanupsScope(CGF) { in OMPLoopScope()
145 class OMPSimdLexicalScope : public CodeGenFunction::LexicalScope {
146 CodeGenFunction::OMPPrivateScope InlinedShareds;
148 static bool isCapturedVar(CodeGenFunction &CGF, const VarDecl *VD) { in isCapturedVar()
156 OMPSimdLexicalScope(CodeGenFunction &CGF, const OMPExecutableDirective &S) in OMPSimdLexicalScope()
157 : CodeGenFunction::LexicalScope(CGF, S.getSourceRange()), in OMPSimdLexicalScope()
167 CodeGenFunction::AutoVarEmission Emission = in OMPSimdLexicalScope()
213 static void emitCommonOMPTargetDirective(CodeGenFunction &CGF,
217 LValue CodeGenFunction::EmitOMPSharedLValue(const Expr *E) { in EmitOMPSharedLValue()
233 llvm::Value *CodeGenFunction::getTypeSize(QualType Ty) { in getTypeSize()
253 void CodeGenFunction::GenerateOpenMPCapturedVars( in GenerateOpenMPCapturedVars()
299 static Address castValueFromUintptr(CodeGenFunction &CGF, SourceLocation Loc, in castValueFromUintptr()
364 CodeGenFunction &CGF, FunctionArgList &Args, in emitOutlinedFunctionPrologue()
550 CodeGenFunction::GenerateOpenMPCapturedStmtFunction(const CapturedStmt &S) { in GenerateOpenMPCapturedStmtFunction()
588 CodeGenFunction WrapperCGF(CGM, /*suppressNewContext=*/true); in GenerateOpenMPCapturedStmtFunction()
628 void CodeGenFunction::EmitOMPAggregateAssign( in EmitOMPAggregateAssign()
689 void CodeGenFunction::EmitOMPCopy(QualType OriginalType, Address DestAddr, in EmitOMPCopy()
708 CodeGenFunction::OMPPrivateScope Remap(*this); in EmitOMPCopy()
717 CodeGenFunction::OMPPrivateScope Remap(*this); in EmitOMPCopy()
726 bool CodeGenFunction::EmitOMPFirstprivateClause(const OMPExecutableDirective &D, in EmitOMPFirstprivateClause()
830 void CodeGenFunction::EmitOMPPrivateClause( in EmitOMPPrivateClause()
832 CodeGenFunction::OMPPrivateScope &PrivateScope) { in EmitOMPPrivateClause()
856 bool CodeGenFunction::EmitOMPCopyinClause(const OMPExecutableDirective &D) { in EmitOMPCopyinClause()
925 bool CodeGenFunction::EmitOMPLastprivateClauseInit( in EmitOMPLastprivateClauseInit()
984 void CodeGenFunction::EmitOMPLastprivateClauseFinal( in EmitOMPLastprivateClauseFinal()
1057 void CodeGenFunction::EmitOMPReductionClauseInit( in EmitOMPReductionClauseInit()
1059 CodeGenFunction::OMPPrivateScope &PrivateScope) { in EmitOMPReductionClauseInit()
1097 [&Emission](CodeGenFunction &CGF) { in EmitOMPReductionClauseInit()
1161 void CodeGenFunction::EmitOMPReductionClauseFinal( in EmitOMPReductionClauseFinal()
1191 CodeGenFunction &CGF, const OMPExecutableDirective &D, in emitPostUpdateForReductionClause()
1192 const llvm::function_ref<llvm::Value *(CodeGenFunction &)> CondGen) { in emitPostUpdateForReductionClause()
1219 typedef llvm::function_ref<void(CodeGenFunction &,
1226 CodeGenFunction &CGF, const OMPExecutableDirective &S, in emitCommonOMPParallelDirective()
1234 CodeGenFunction::RunCleanupsScope NumThreadsScope(CGF); in emitCommonOMPParallelDirective()
1242 CodeGenFunction::RunCleanupsScope ProcBindScope(CGF); in emitCommonOMPParallelDirective()
1267 static void emitEmptyBoundParameters(CodeGenFunction &, in emitEmptyBoundParameters() argument
1271 void CodeGenFunction::EmitOMPParallelDirective(const OMPParallelDirective &S) { in EmitOMPParallelDirective()
1273 auto &&CodeGen = [&S](CodeGenFunction &CGF, PrePostActionTy &Action) { in EmitOMPParallelDirective()
1295 [](CodeGenFunction &) { return nullptr; }); in EmitOMPParallelDirective() argument
1298 void CodeGenFunction::EmitOMPLoopBody(const OMPLoopDirective &D, in EmitOMPLoopBody()
1324 void CodeGenFunction::EmitOMPInnerLoop( in EmitOMPInnerLoop()
1327 const llvm::function_ref<void(CodeGenFunction &)> BodyGen, in EmitOMPInnerLoop()
1328 const llvm::function_ref<void(CodeGenFunction &)> PostIncGen) { in EmitOMPInnerLoop()
1373 bool CodeGenFunction::EmitOMPLinearClauseInit(const OMPLoopDirective &D) { in EmitOMPLinearClauseInit()
1410 void CodeGenFunction::EmitOMPLinearClauseFinal( in EmitOMPLinearClauseFinal()
1412 const llvm::function_ref<llvm::Value *(CodeGenFunction &)> CondGen) { in EmitOMPLinearClauseFinal()
1435 CodeGenFunction::OMPPrivateScope VarScope(*this); in EmitOMPLinearClauseFinal()
1448 static void emitAlignedClause(CodeGenFunction &CGF, in emitAlignedClause()
1482 void CodeGenFunction::EmitOMPPrivateLoopCounters( in EmitOMPPrivateLoopCounters()
1483 const OMPLoopDirective &S, CodeGenFunction::OMPPrivateScope &LoopScope) { in EmitOMPPrivateLoopCounters()
1532 static void emitPreCond(CodeGenFunction &CGF, const OMPLoopDirective &S, in emitPreCond()
1538 CodeGenFunction::OMPPrivateScope PreCondScope(CGF); in emitPreCond()
1550 void CodeGenFunction::EmitOMPLinearClause( in EmitOMPLinearClause()
1551 const OMPLoopDirective &D, CodeGenFunction::OMPPrivateScope &PrivateScope) { in EmitOMPLinearClause()
1585 static void emitSimdlenSafelenClause(CodeGenFunction &CGF, in emitSimdlenSafelenClause()
1612 void CodeGenFunction::EmitOMPSimdInit(const OMPLoopDirective &D, in EmitOMPSimdInit()
1620 void CodeGenFunction::EmitOMPSimdFinal( in EmitOMPSimdFinal()
1622 const llvm::function_ref<llvm::Value *(CodeGenFunction &)> CondGen) { in EmitOMPSimdFinal()
1665 static void emitOMPLoopBodyWithStopPoint(CodeGenFunction &CGF, in emitOMPLoopBodyWithStopPoint()
1667 CodeGenFunction::JumpDest LoopExit) { in emitOMPLoopBodyWithStopPoint()
1673 static LValue EmitOMPHelperVar(CodeGenFunction &CGF, in EmitOMPHelperVar()
1680 static void emitOMPSimdRegion(CodeGenFunction &CGF, const OMPLoopDirective &S, in emitOMPSimdRegion()
1735 CodeGenFunction::OMPPrivateScope LoopScope(CGF); in emitOMPSimdRegion()
1746 [&S](CodeGenFunction &CGF) { in emitOMPSimdRegion()
1747 CGF.EmitOMPLoopBody(S, CodeGenFunction::JumpDest()); in emitOMPSimdRegion()
1750 [](CodeGenFunction &) {}); in emitOMPSimdRegion() argument
1751 CGF.EmitOMPSimdFinal(S, [](CodeGenFunction &) { return nullptr; }); in emitOMPSimdRegion() argument
1757 [](CodeGenFunction &) { return nullptr; }); in emitOMPSimdRegion() argument
1759 CGF.EmitOMPLinearClauseFinal(S, [](CodeGenFunction &) { return nullptr; }); in emitOMPSimdRegion() argument
1767 void CodeGenFunction::EmitOMPSimdDirective(const OMPSimdDirective &S) { in EmitOMPSimdDirective()
1768 auto &&CodeGen = [&S](CodeGenFunction &CGF, PrePostActionTy &Action) { in EmitOMPSimdDirective()
1775 void CodeGenFunction::EmitOMPOuterLoop( in EmitOMPOuterLoop()
1777 CodeGenFunction::OMPPrivateScope &LoopScope, in EmitOMPOuterLoop()
1778 const CodeGenFunction::OMPLoopArguments &LoopArgs, in EmitOMPOuterLoop()
1779 const CodeGenFunction::CodeGenLoopTy &CodeGenLoop, in EmitOMPOuterLoop()
1780 const CodeGenFunction::CodeGenOrderedTy &CodeGenOrdered) { in EmitOMPOuterLoop()
1851 [&S, LoopExit, &CodeGenLoop](CodeGenFunction &CGF) { in EmitOMPOuterLoop()
1854 [IVSize, IVSigned, Loc, &CodeGenOrdered](CodeGenFunction &CGF) { in EmitOMPOuterLoop()
1872 auto &&CodeGen = [DynamicOrOrdered, &S](CodeGenFunction &CGF) { in EmitOMPOuterLoop()
1880 void CodeGenFunction::EmitOMPForOuterLoop( in EmitOMPForOuterLoop()
1967 auto &&CodeGenOrdered = [Ordered](CodeGenFunction &CGF, SourceLocation Loc, in EmitOMPForOuterLoop()
1987 static void emitEmptyOrdered(CodeGenFunction &, SourceLocation Loc, in emitEmptyOrdered() argument
1990 void CodeGenFunction::EmitOMPDistributeOuterLoop( in EmitOMPDistributeOuterLoop()
2051 emitDistributeParallelForInnerBounds(CodeGenFunction &CGF, in emitDistributeParallelForInnerBounds()
2094 emitDistributeParallelForDispatchBounds(CodeGenFunction &CGF, in emitDistributeParallelForDispatchBounds()
2112 CodeGenFunction &CGF, const OMPExecutableDirective &S, in emitDistributeParallelForDistributeInnerBoundParams()
2129 emitInnerParallelForWhenCombined(CodeGenFunction &CGF, in emitInnerParallelForWhenCombined()
2131 CodeGenFunction::JumpDest LoopExit) { in emitInnerParallelForWhenCombined()
2132 auto &&CGInlinedWorksharingLoop = [&S](CodeGenFunction &CGF, in emitInnerParallelForWhenCombined()
2145 CodeGenFunction::OMPCancelStackRAII CancelRegion(CGF, S.getDirectiveKind(), in emitInnerParallelForWhenCombined()
2159 void CodeGenFunction::EmitOMPDistributeParallelForDirective( in EmitOMPDistributeParallelForDirective()
2161 auto &&CodeGen = [&S](CodeGenFunction &CGF, PrePostActionTy &) { in EmitOMPDistributeParallelForDirective()
2169 void CodeGenFunction::EmitOMPDistributeParallelForSimdDirective( in EmitOMPDistributeParallelForSimdDirective()
2171 auto &&CodeGen = [&S](CodeGenFunction &CGF, PrePostActionTy &) { in EmitOMPDistributeParallelForSimdDirective()
2179 void CodeGenFunction::EmitOMPDistributeSimdDirective( in EmitOMPDistributeSimdDirective()
2181 auto &&CodeGen = [&S](CodeGenFunction &CGF, PrePostActionTy &) { in EmitOMPDistributeSimdDirective()
2188 void CodeGenFunction::EmitOMPTargetSimdDeviceFunction( in EmitOMPTargetSimdDeviceFunction()
2191 auto &&CodeGen = [&S](CodeGenFunction &CGF, PrePostActionTy &Action) { in EmitOMPTargetSimdDeviceFunction()
2202 void CodeGenFunction::EmitOMPTargetSimdDirective( in EmitOMPTargetSimdDirective()
2204 auto &&CodeGen = [&S](CodeGenFunction &CGF, PrePostActionTy &Action) { in EmitOMPTargetSimdDirective()
2222 bool CodeGenFunction::EmitOMPWorksharingLoop( in EmitOMPWorksharingLoop()
2380 [&S, LoopExit](CodeGenFunction &CGF) { in EmitOMPWorksharingLoop()
2384 [](CodeGenFunction &) {}); in EmitOMPWorksharingLoop() argument
2387 auto &&CodeGen = [&S](CodeGenFunction &CGF) { in EmitOMPWorksharingLoop()
2407 EmitOMPSimdFinal(S, [IL, &S](CodeGenFunction &CGF) { in EmitOMPWorksharingLoop()
2418 *this, S, [IL, &S](CodeGenFunction &CGF) { in EmitOMPWorksharingLoop()
2428 EmitOMPLinearClauseFinal(S, [IL, &S](CodeGenFunction &CGF) { in EmitOMPWorksharingLoop()
2446 emitForLoopBounds(CodeGenFunction &CGF, const OMPExecutableDirective &S) { in emitForLoopBounds()
2460 emitDispatchForLoopBounds(CodeGenFunction &CGF, const OMPExecutableDirective &S, in emitDispatchForLoopBounds()
2470 void CodeGenFunction::EmitOMPForDirective(const OMPForDirective &S) { in EmitOMPForDirective()
2472 auto &&CodeGen = [&S, &HasLastprivates](CodeGenFunction &CGF, in EmitOMPForDirective()
2490 void CodeGenFunction::EmitOMPForSimdDirective(const OMPForSimdDirective &S) { in EmitOMPForSimdDirective()
2492 auto &&CodeGen = [&S, &HasLastprivates](CodeGenFunction &CGF, in EmitOMPForSimdDirective()
2508 static LValue createSectionLVal(CodeGenFunction &CGF, QualType Ty, in createSectionLVal()
2517 void CodeGenFunction::EmitSections(const OMPExecutableDirective &S) { in EmitSections()
2522 &HasLastprivates](CodeGenFunction &CGF, PrePostActionTy &) { in EmitSections()
2541 CodeGenFunction::OpaqueValueMapping OpaqueIV(CGF, &IVRefExpr, IV); in EmitSections()
2543 CodeGenFunction::OpaqueValueMapping OpaqueUB(CGF, &UBRefExpr, UB); in EmitSections()
2550 auto &&BodyGen = [CapturedStmt, CS, &S, &IV](CodeGenFunction &CGF) { in EmitSections()
2586 CodeGenFunction::OMPPrivateScope LoopScope(CGF); in EmitSections()
2619 [](CodeGenFunction &) {}); in EmitSections() argument
2621 auto &&CodeGen = [&S](CodeGenFunction &CGF) { in EmitSections()
2628 emitPostUpdateForReductionClause(CGF, S, [IL, &S](CodeGenFunction &CGF) { in EmitSections()
2660 void CodeGenFunction::EmitOMPSectionsDirective(const OMPSectionsDirective &S) { in EmitOMPSectionsDirective()
2672 void CodeGenFunction::EmitOMPSectionDirective(const OMPSectionDirective &S) { in EmitOMPSectionDirective()
2673 auto &&CodeGen = [&S](CodeGenFunction &CGF, PrePostActionTy &) { in EmitOMPSectionDirective()
2681 void CodeGenFunction::EmitOMPSingleDirective(const OMPSingleDirective &S) { in EmitOMPSingleDirective()
2699 auto &&CodeGen = [&S](CodeGenFunction &CGF, PrePostActionTy &Action) { in EmitOMPSingleDirective()
2722 void CodeGenFunction::EmitOMPMasterDirective(const OMPMasterDirective &S) { in EmitOMPMasterDirective()
2723 auto &&CodeGen = [&S](CodeGenFunction &CGF, PrePostActionTy &Action) { in EmitOMPMasterDirective()
2731 void CodeGenFunction::EmitOMPCriticalDirective(const OMPCriticalDirective &S) { in EmitOMPCriticalDirective()
2732 auto &&CodeGen = [&S](CodeGenFunction &CGF, PrePostActionTy &Action) { in EmitOMPCriticalDirective()
2745 void CodeGenFunction::EmitOMPParallelForDirective( in EmitOMPParallelForDirective()
2749 auto &&CodeGen = [&S](CodeGenFunction &CGF, PrePostActionTy &Action) { in EmitOMPParallelForDirective()
2759 void CodeGenFunction::EmitOMPParallelForSimdDirective( in EmitOMPParallelForSimdDirective()
2763 auto &&CodeGen = [&S](CodeGenFunction &CGF, PrePostActionTy &Action) { in EmitOMPParallelForSimdDirective()
2772 void CodeGenFunction::EmitOMPParallelSectionsDirective( in EmitOMPParallelSectionsDirective()
2776 auto &&CodeGen = [&S](CodeGenFunction &CGF, PrePostActionTy &Action) { in EmitOMPParallelSectionsDirective()
2784 void CodeGenFunction::EmitOMPTaskBasedDirective( in EmitOMPTaskBasedDirective()
2891 CapturedRegion](CodeGenFunction &CGF, in EmitOMPTaskBasedDirective()
3069 void CodeGenFunction::EmitOMPTargetTaskBasedDirective( in EmitOMPTargetTaskBasedDirective()
3127 &InputInfo](CodeGenFunction &CGF, PrePostActionTy &Action) { in EmitOMPTargetTaskBasedDirective()
3183 void CodeGenFunction::EmitOMPTaskDirective(const OMPTaskDirective &S) { in EmitOMPTaskDirective()
3200 auto &&BodyGen = [CS](CodeGenFunction &CGF, PrePostActionTy &) { in EmitOMPTaskDirective()
3204 IfCond](CodeGenFunction &CGF, llvm::Value *OutlinedFn, in EmitOMPTaskDirective()
3213 void CodeGenFunction::EmitOMPTaskyieldDirective( in EmitOMPTaskyieldDirective()
3218 void CodeGenFunction::EmitOMPBarrierDirective(const OMPBarrierDirective &S) { in EmitOMPBarrierDirective()
3222 void CodeGenFunction::EmitOMPTaskwaitDirective(const OMPTaskwaitDirective &S) { in EmitOMPTaskwaitDirective()
3226 void CodeGenFunction::EmitOMPTaskgroupDirective( in EmitOMPTaskgroupDirective()
3228 auto &&CodeGen = [&S](CodeGenFunction &CGF, PrePostActionTy &Action) { in EmitOMPTaskgroupDirective()
3265 void CodeGenFunction::EmitOMPFlushDirective(const OMPFlushDirective &S) { in EmitOMPFlushDirective()
3277 void CodeGenFunction::EmitOMPDistributeLoop(const OMPLoopDirective &S, in EmitOMPDistributeLoop()
3442 [&S, LoopExit, &CodeGenLoop](CodeGenFunction &CGF) { in EmitOMPDistributeLoop()
3445 [&S, StaticChunked](CodeGenFunction &CGF) { in EmitOMPDistributeLoop()
3466 EmitOMPSimdFinal(S, [IL, &S](CodeGenFunction &CGF) { in EmitOMPDistributeLoop()
3477 *this, S, [IL, &S](CodeGenFunction &CGF) { in EmitOMPDistributeLoop()
3498 void CodeGenFunction::EmitOMPDistributeDirective( in EmitOMPDistributeDirective()
3500 auto &&CodeGen = [&S](CodeGenFunction &CGF, PrePostActionTy &) { in EmitOMPDistributeDirective()
3509 CodeGenFunction CGF(CGM, /*suppressNewContext=*/true); in emitOutlinedOrderedFunction()
3510 CodeGenFunction::CGCapturedStmtInfo CapStmtInfo; in emitOutlinedOrderedFunction()
3517 void CodeGenFunction::EmitOMPOrderedDirective(const OMPOrderedDirective &S) { in EmitOMPOrderedDirective()
3526 auto &&CodeGen = [&S, C, this](CodeGenFunction &CGF, in EmitOMPOrderedDirective()
3544 static llvm::Value *convertToScalarValue(CodeGenFunction &CGF, RValue Val, in convertToScalarValue()
3556 static CodeGenFunction::ComplexPairTy
3557 convertToComplexValue(CodeGenFunction &CGF, RValue Val, QualType SrcType, in convertToComplexValue()
3561 CodeGenFunction::ComplexPairTy ComplexVal; in convertToComplexValue()
3568 ComplexVal = CodeGenFunction::ComplexPairTy( in convertToComplexValue()
3583 static void emitSimpleAtomicStore(CodeGenFunction &CGF, bool IsSeqCst, in emitSimpleAtomicStore()
3595 void CodeGenFunction::emitOMPSimpleStore(LValue LVal, RValue RVal, in emitOMPSimpleStore()
3613 static void emitOMPAtomicReadExpr(CodeGenFunction &CGF, bool IsSeqCst, in emitOMPAtomicReadExpr()
3637 static void emitOMPAtomicWriteExpr(CodeGenFunction &CGF, bool IsSeqCst, in emitOMPAtomicWriteExpr()
3651 static std::pair<bool, RValue> emitOMPAtomicRMW(CodeGenFunction &CGF, LValue X, in emitOMPAtomicRMW()
3745 std::pair<bool, RValue> CodeGenFunction::EmitOMPAtomicSimpleUpdateExpr( in EmitOMPAtomicSimpleUpdateExpr()
3769 static void emitOMPAtomicUpdateExpr(CodeGenFunction &CGF, bool IsSeqCst, in emitOMPAtomicUpdateExpr()
3793 CodeGenFunction::OpaqueValueMapping MapExpr(CGF, ERValExpr, ExprRValue); in emitOMPAtomicUpdateExpr()
3794 CodeGenFunction::OpaqueValueMapping MapX(CGF, XRValExpr, XRValue); in emitOMPAtomicUpdateExpr()
3807 static RValue convertToType(CodeGenFunction &CGF, RValue Value, in convertToType()
3824 static void emitOMPAtomicCaptureExpr(CodeGenFunction &CGF, bool IsSeqCst, in emitOMPAtomicCaptureExpr()
3857 CodeGenFunction::OpaqueValueMapping MapExpr(CGF, ERValExpr, ExprRValue); in emitOMPAtomicCaptureExpr()
3858 CodeGenFunction::OpaqueValueMapping MapX(CGF, XRValExpr, XRValue); in emitOMPAtomicCaptureExpr()
3873 CodeGenFunction::OpaqueValueMapping MapExpr(CGF, ERValExpr, ExprRValue); in emitOMPAtomicCaptureExpr()
3874 CodeGenFunction::OpaqueValueMapping MapX(CGF, XRValExpr, Res.second); in emitOMPAtomicCaptureExpr()
3906 static void emitOMPAtomicExpr(CodeGenFunction &CGF, OpenMPClauseKind Kind, in emitOMPAtomicExpr()
3981 void CodeGenFunction::EmitOMPAtomicDirective(const OMPAtomicDirective &S) { in EmitOMPAtomicDirective()
4003 auto &&CodeGen = [&S, Kind, IsSeqCst, CS](CodeGenFunction &CGF, in EmitOMPAtomicDirective()
4014 static void emitCommonOMPTargetDirective(CodeGenFunction &CGF, in emitCommonOMPTargetDirective()
4024 CGF, OMPD_target, [&S](CodeGenFunction &CGF, PrePostActionTy &) { in emitCommonOMPTargetDirective()
4076 auto &&SizeEmitter = [](CodeGenFunction &CGF, const OMPLoopDirective &D) { in emitCommonOMPTargetDirective()
4089 static void emitTargetRegion(CodeGenFunction &CGF, const OMPTargetDirective &S, in emitTargetRegion()
4092 CodeGenFunction::OMPPrivateScope PrivateScope(CGF); in emitTargetRegion()
4102 void CodeGenFunction::EmitOMPTargetDeviceFunction(CodeGenModule &CGM, in EmitOMPTargetDeviceFunction()
4105 auto &&CodeGen = [&S](CodeGenFunction &CGF, PrePostActionTy &Action) { in EmitOMPTargetDeviceFunction()
4116 void CodeGenFunction::EmitOMPTargetDirective(const OMPTargetDirective &S) { in EmitOMPTargetDirective()
4117 auto &&CodeGen = [&S](CodeGenFunction &CGF, PrePostActionTy &Action) { in EmitOMPTargetDirective()
4123 static void emitCommonOMPTeamsDirective(CodeGenFunction &CGF, in emitCommonOMPTeamsDirective()
4149 void CodeGenFunction::EmitOMPTeamsDirective(const OMPTeamsDirective &S) { in EmitOMPTeamsDirective()
4151 auto &&CodeGen = [&S](CodeGenFunction &CGF, PrePostActionTy &Action) { in EmitOMPTeamsDirective()
4163 [](CodeGenFunction &) { return nullptr; }); in EmitOMPTeamsDirective() argument
4166 static void emitTargetTeamsRegion(CodeGenFunction &CGF, PrePostActionTy &Action, in emitTargetTeamsRegion()
4171 auto &&CodeGen = [&S, CS](CodeGenFunction &CGF, PrePostActionTy &Action) { in emitTargetTeamsRegion()
4173 CodeGenFunction::OMPPrivateScope PrivateScope(CGF); in emitTargetTeamsRegion()
4185 [](CodeGenFunction &) { return nullptr; }); in emitTargetTeamsRegion() argument
4188 void CodeGenFunction::EmitOMPTargetTeamsDeviceFunction( in EmitOMPTargetTeamsDeviceFunction()
4191 auto &&CodeGen = [&S](CodeGenFunction &CGF, PrePostActionTy &Action) { in EmitOMPTargetTeamsDeviceFunction()
4202 void CodeGenFunction::EmitOMPTargetTeamsDirective( in EmitOMPTargetTeamsDirective()
4204 auto &&CodeGen = [&S](CodeGenFunction &CGF, PrePostActionTy &Action) { in EmitOMPTargetTeamsDirective()
4211 emitTargetTeamsDistributeRegion(CodeGenFunction &CGF, PrePostActionTy &Action, in emitTargetTeamsDistributeRegion()
4214 auto &&CodeGenDistribute = [&S](CodeGenFunction &CGF, PrePostActionTy &) { in emitTargetTeamsDistributeRegion()
4219 auto &&CodeGen = [&S, &CodeGenDistribute](CodeGenFunction &CGF, in emitTargetTeamsDistributeRegion()
4222 CodeGenFunction::OMPPrivateScope PrivateScope(CGF); in emitTargetTeamsDistributeRegion()
4231 [](CodeGenFunction &) { return nullptr; }); in emitTargetTeamsDistributeRegion() argument
4234 void CodeGenFunction::EmitOMPTargetTeamsDistributeDeviceFunction( in EmitOMPTargetTeamsDistributeDeviceFunction()
4237 auto &&CodeGen = [&S](CodeGenFunction &CGF, PrePostActionTy &Action) { in EmitOMPTargetTeamsDistributeDeviceFunction()
4248 void CodeGenFunction::EmitOMPTargetTeamsDistributeDirective( in EmitOMPTargetTeamsDistributeDirective()
4250 auto &&CodeGen = [&S](CodeGenFunction &CGF, PrePostActionTy &Action) { in EmitOMPTargetTeamsDistributeDirective()
4257 CodeGenFunction &CGF, PrePostActionTy &Action, in emitTargetTeamsDistributeSimdRegion()
4260 auto &&CodeGenDistribute = [&S](CodeGenFunction &CGF, PrePostActionTy &) { in emitTargetTeamsDistributeSimdRegion()
4265 auto &&CodeGen = [&S, &CodeGenDistribute](CodeGenFunction &CGF, in emitTargetTeamsDistributeSimdRegion()
4268 CodeGenFunction::OMPPrivateScope PrivateScope(CGF); in emitTargetTeamsDistributeSimdRegion()
4277 [](CodeGenFunction &) { return nullptr; }); in emitTargetTeamsDistributeSimdRegion() argument
4280 void CodeGenFunction::EmitOMPTargetTeamsDistributeSimdDeviceFunction( in EmitOMPTargetTeamsDistributeSimdDeviceFunction()
4283 auto &&CodeGen = [&S](CodeGenFunction &CGF, PrePostActionTy &Action) { in EmitOMPTargetTeamsDistributeSimdDeviceFunction()
4294 void CodeGenFunction::EmitOMPTargetTeamsDistributeSimdDirective( in EmitOMPTargetTeamsDistributeSimdDirective()
4296 auto &&CodeGen = [&S](CodeGenFunction &CGF, PrePostActionTy &Action) { in EmitOMPTargetTeamsDistributeSimdDirective()
4302 void CodeGenFunction::EmitOMPTeamsDistributeDirective( in EmitOMPTeamsDistributeDirective()
4305 auto &&CodeGenDistribute = [&S](CodeGenFunction &CGF, PrePostActionTy &) { in EmitOMPTeamsDistributeDirective()
4310 auto &&CodeGen = [&S, &CodeGenDistribute](CodeGenFunction &CGF, in EmitOMPTeamsDistributeDirective()
4322 [](CodeGenFunction &) { return nullptr; }); in EmitOMPTeamsDistributeDirective() argument
4325 void CodeGenFunction::EmitOMPTeamsDistributeSimdDirective( in EmitOMPTeamsDistributeSimdDirective()
4327 auto &&CodeGenDistribute = [&S](CodeGenFunction &CGF, PrePostActionTy &) { in EmitOMPTeamsDistributeSimdDirective()
4332 auto &&CodeGen = [&S, &CodeGenDistribute](CodeGenFunction &CGF, in EmitOMPTeamsDistributeSimdDirective()
4344 [](CodeGenFunction &) { return nullptr; }); in EmitOMPTeamsDistributeSimdDirective() argument
4347 void CodeGenFunction::EmitOMPTeamsDistributeParallelForDirective( in EmitOMPTeamsDistributeParallelForDirective()
4349 auto &&CodeGenDistribute = [&S](CodeGenFunction &CGF, PrePostActionTy &) { in EmitOMPTeamsDistributeParallelForDirective()
4355 auto &&CodeGen = [&S, &CodeGenDistribute](CodeGenFunction &CGF, in EmitOMPTeamsDistributeParallelForDirective()
4367 [](CodeGenFunction &) { return nullptr; }); in EmitOMPTeamsDistributeParallelForDirective() argument
4370 void CodeGenFunction::EmitOMPTeamsDistributeParallelForSimdDirective( in EmitOMPTeamsDistributeParallelForSimdDirective()
4372 auto &&CodeGenDistribute = [&S](CodeGenFunction &CGF, PrePostActionTy &) { in EmitOMPTeamsDistributeParallelForSimdDirective()
4378 auto &&CodeGen = [&S, &CodeGenDistribute](CodeGenFunction &CGF, in EmitOMPTeamsDistributeParallelForSimdDirective()
4390 [](CodeGenFunction &) { return nullptr; }); in EmitOMPTeamsDistributeParallelForSimdDirective() argument
4394 CodeGenFunction &CGF, const OMPTargetTeamsDistributeParallelForDirective &S, in emitTargetTeamsDistributeParallelForRegion()
4397 auto &&CodeGenDistribute = [&S](CodeGenFunction &CGF, PrePostActionTy &) { in emitTargetTeamsDistributeParallelForRegion()
4403 auto &&CodeGenTeams = [&S, &CodeGenDistribute](CodeGenFunction &CGF, in emitTargetTeamsDistributeParallelForRegion()
4406 CodeGenFunction::OMPPrivateScope PrivateScope(CGF); in emitTargetTeamsDistributeParallelForRegion()
4417 [](CodeGenFunction &) { return nullptr; }); in emitTargetTeamsDistributeParallelForRegion() argument
4420 void CodeGenFunction::EmitOMPTargetTeamsDistributeParallelForDeviceFunction( in EmitOMPTargetTeamsDistributeParallelForDeviceFunction()
4425 auto &&CodeGen = [&S](CodeGenFunction &CGF, PrePostActionTy &Action) { in EmitOMPTargetTeamsDistributeParallelForDeviceFunction()
4436 void CodeGenFunction::EmitOMPTargetTeamsDistributeParallelForDirective( in EmitOMPTargetTeamsDistributeParallelForDirective()
4438 auto &&CodeGen = [&S](CodeGenFunction &CGF, PrePostActionTy &Action) { in EmitOMPTargetTeamsDistributeParallelForDirective()
4445 CodeGenFunction &CGF, in emitTargetTeamsDistributeParallelForSimdRegion()
4449 auto &&CodeGenDistribute = [&S](CodeGenFunction &CGF, PrePostActionTy &) { in emitTargetTeamsDistributeParallelForSimdRegion()
4455 auto &&CodeGenTeams = [&S, &CodeGenDistribute](CodeGenFunction &CGF, in emitTargetTeamsDistributeParallelForSimdRegion()
4458 CodeGenFunction::OMPPrivateScope PrivateScope(CGF); in emitTargetTeamsDistributeParallelForSimdRegion()
4469 [](CodeGenFunction &) { return nullptr; }); in emitTargetTeamsDistributeParallelForSimdRegion() argument
4472 void CodeGenFunction::EmitOMPTargetTeamsDistributeParallelForSimdDeviceFunction( in EmitOMPTargetTeamsDistributeParallelForSimdDeviceFunction()
4477 auto &&CodeGen = [&S](CodeGenFunction &CGF, PrePostActionTy &Action) { in EmitOMPTargetTeamsDistributeParallelForSimdDeviceFunction()
4488 void CodeGenFunction::EmitOMPTargetTeamsDistributeParallelForSimdDirective( in EmitOMPTargetTeamsDistributeParallelForSimdDirective()
4490 auto &&CodeGen = [&S](CodeGenFunction &CGF, PrePostActionTy &Action) { in EmitOMPTargetTeamsDistributeParallelForSimdDirective()
4496 void CodeGenFunction::EmitOMPCancellationPointDirective( in EmitOMPCancellationPointDirective()
4502 void CodeGenFunction::EmitOMPCancelDirective(const OMPCancelDirective &S) { in EmitOMPCancelDirective()
4515 CodeGenFunction::JumpDest
4516 CodeGenFunction::getOMPCancelDestination(OpenMPDirectiveKind Kind) { in getOMPCancelDestination()
4529 void CodeGenFunction::EmitOMPUseDevicePtrClause( in EmitOMPUseDevicePtrClause()
4594 void CodeGenFunction::EmitOMPTargetDataDirective( in EmitOMPTargetDataDirective()
4608 void Enter(CodeGenFunction &CGF) override { in EmitOMPTargetDataDirective()
4615 CodeGenFunction &CGF, PrePostActionTy &Action) { in EmitOMPTargetDataDirective()
4616 auto &&InnermostCodeGen = [&S](CodeGenFunction &CGF, PrePostActionTy &) { in EmitOMPTargetDataDirective()
4622 &InnermostCodeGen](CodeGenFunction &CGF, in EmitOMPTargetDataDirective()
4683 void CodeGenFunction::EmitOMPTargetEnterDataDirective( in EmitOMPTargetEnterDataDirective()
4704 void CodeGenFunction::EmitOMPTargetExitDataDirective( in EmitOMPTargetExitDataDirective()
4725 static void emitTargetParallelRegion(CodeGenFunction &CGF, in emitTargetParallelRegion()
4731 auto &&CodeGen = [&S, CS](CodeGenFunction &CGF, PrePostActionTy &Action) { in emitTargetParallelRegion()
4733 CodeGenFunction::OMPPrivateScope PrivateScope(CGF); in emitTargetParallelRegion()
4747 [](CodeGenFunction &) { return nullptr; }); in emitTargetParallelRegion() argument
4750 void CodeGenFunction::EmitOMPTargetParallelDeviceFunction( in EmitOMPTargetParallelDeviceFunction()
4753 auto &&CodeGen = [&S](CodeGenFunction &CGF, PrePostActionTy &Action) { in EmitOMPTargetParallelDeviceFunction()
4764 void CodeGenFunction::EmitOMPTargetParallelDirective( in EmitOMPTargetParallelDirective()
4766 auto &&CodeGen = [&S](CodeGenFunction &CGF, PrePostActionTy &Action) { in EmitOMPTargetParallelDirective()
4772 static void emitTargetParallelForRegion(CodeGenFunction &CGF, in emitTargetParallelForRegion()
4778 auto &&CodeGen = [&S](CodeGenFunction &CGF, PrePostActionTy &Action) { in emitTargetParallelForRegion()
4780 CodeGenFunction::OMPCancelStackRAII CancelRegion( in emitTargetParallelForRegion()
4789 void CodeGenFunction::EmitOMPTargetParallelForDeviceFunction( in EmitOMPTargetParallelForDeviceFunction()
4793 auto &&CodeGen = [&S](CodeGenFunction &CGF, PrePostActionTy &Action) { in EmitOMPTargetParallelForDeviceFunction()
4804 void CodeGenFunction::EmitOMPTargetParallelForDirective( in EmitOMPTargetParallelForDirective()
4806 auto &&CodeGen = [&S](CodeGenFunction &CGF, PrePostActionTy &Action) { in EmitOMPTargetParallelForDirective()
4813 emitTargetParallelForSimdRegion(CodeGenFunction &CGF, in emitTargetParallelForSimdRegion()
4819 auto &&CodeGen = [&S](CodeGenFunction &CGF, PrePostActionTy &Action) { in emitTargetParallelForSimdRegion()
4828 void CodeGenFunction::EmitOMPTargetParallelForSimdDeviceFunction( in EmitOMPTargetParallelForSimdDeviceFunction()
4832 auto &&CodeGen = [&S](CodeGenFunction &CGF, PrePostActionTy &Action) { in EmitOMPTargetParallelForSimdDeviceFunction()
4843 void CodeGenFunction::EmitOMPTargetParallelForSimdDirective( in EmitOMPTargetParallelForSimdDirective()
4845 auto &&CodeGen = [&S](CodeGenFunction &CGF, PrePostActionTy &Action) { in EmitOMPTargetParallelForSimdDirective()
4852 static void mapParam(CodeGenFunction &CGF, const DeclRefExpr *Helper, in mapParam()
4854 CodeGenFunction::OMPPrivateScope &Privates) { in mapParam()
4860 void CodeGenFunction::EmitOMPTaskLoopBasedDirective(const OMPLoopDirective &S) { in EmitOMPTaskLoopBasedDirective()
4891 auto &&BodyGen = [CS, &S](CodeGenFunction &CGF, PrePostActionTy &) { in EmitOMPTaskLoopBasedDirective()
4954 [&S](CodeGenFunction &CGF) { in EmitOMPTaskLoopBasedDirective()
4958 [](CodeGenFunction &) {}); in EmitOMPTaskLoopBasedDirective() argument
4974 IfCond](CodeGenFunction &CGF, llvm::Value *OutlinedFn, in EmitOMPTaskLoopBasedDirective()
4977 &Data](CodeGenFunction &CGF, PrePostActionTy &) { in EmitOMPTaskLoopBasedDirective()
4991 [&S, &BodyGen, &TaskGen, &Data](CodeGenFunction &CGF, in EmitOMPTaskLoopBasedDirective()
5001 void CodeGenFunction::EmitOMPTaskLoopDirective(const OMPTaskLoopDirective &S) { in EmitOMPTaskLoopDirective()
5005 void CodeGenFunction::EmitOMPTaskLoopSimdDirective( in EmitOMPTaskLoopSimdDirective()
5011 void CodeGenFunction::EmitOMPTargetUpdateDirective( in EmitOMPTargetUpdateDirective()
5032 void CodeGenFunction::EmitSimpleOMPExecutableDirective( in EmitSimpleOMPExecutableDirective()
5036 auto &&CodeGen = [&D](CodeGenFunction &CGF, PrePostActionTy &Action) { in EmitSimpleOMPExecutableDirective()