Lines Matching refs:CodeGenFunction
29 class OMPLexicalScope final : public CodeGenFunction::LexicalScope {
30 void emitPreInitStmt(CodeGenFunction &CGF, const OMPExecutableDirective &S) { in emitPreInitStmt()
38 CodeGenFunction::AutoVarEmission Emission = in emitPreInitStmt()
47 CodeGenFunction::OMPPrivateScope InlinedShareds;
49 static bool isCapturedVar(CodeGenFunction &CGF, const VarDecl *VD) { in isCapturedVar()
56 OMPLexicalScope(CodeGenFunction &CGF, const OMPExecutableDirective &S, in OMPLexicalScope()
58 : CodeGenFunction::LexicalScope(CGF, S.getSourceRange()), in OMPLexicalScope()
86 class OMPLoopScope : public CodeGenFunction::RunCleanupsScope {
87 void emitPreInitStmt(CodeGenFunction &CGF, const OMPLoopDirective &S) { in emitPreInitStmt()
97 OMPLoopScope(CodeGenFunction &CGF, const OMPLoopDirective &S) in OMPLoopScope()
98 : CodeGenFunction::RunCleanupsScope(CGF) { in OMPLoopScope()
105 llvm::Value *CodeGenFunction::getTypeSize(QualType Ty) { in getTypeSize()
125 void CodeGenFunction::GenerateOpenMPCapturedVars( in GenerateOpenMPCapturedVars()
172 static Address castValueFromUintptr(CodeGenFunction &CGF, QualType DstType, in castValueFromUintptr()
198 CodeGenFunction::GenerateOpenMPCapturedStmtFunction(const CapturedStmt &S) { in GenerateOpenMPCapturedStmtFunction()
323 void CodeGenFunction::EmitOMPAggregateAssign( in EmitOMPAggregateAssign()
397 static void emitInitWithReductionInitializer(CodeGenFunction &CGF, in emitInitWithReductionInitializer()
411 CodeGenFunction::OMPPrivateScope PrivateScope(CGF); in emitInitWithReductionInitializer()
418 CodeGenFunction::OpaqueValueMapping Map(CGF, OVE, Func); in emitInitWithReductionInitializer()
440 CodeGenFunction::OpaqueValueMapping OpaqueMap(CGF, &OVE, InitRVal); in emitInitWithReductionInitializer()
451 static void EmitOMPAggregateInit(CodeGenFunction &CGF, Address DestAddr, in EmitOMPAggregateInit()
505 CodeGenFunction::RunCleanupsScope InitScope(CGF); in EmitOMPAggregateInit()
534 void CodeGenFunction::EmitOMPCopy(QualType OriginalType, Address DestAddr, in EmitOMPCopy()
551 CodeGenFunction::OMPPrivateScope Remap(*this); in EmitOMPCopy()
563 CodeGenFunction::OMPPrivateScope Remap(*this); in EmitOMPCopy()
572 bool CodeGenFunction::EmitOMPFirstprivateClause(const OMPExecutableDirective &D, in EmitOMPFirstprivateClause()
665 void CodeGenFunction::EmitOMPPrivateClause( in EmitOMPPrivateClause()
667 CodeGenFunction::OMPPrivateScope &PrivateScope) { in EmitOMPPrivateClause()
692 bool CodeGenFunction::EmitOMPCopyinClause(const OMPExecutableDirective &D) { in EmitOMPCopyinClause()
758 bool CodeGenFunction::EmitOMPLastprivateClauseInit( in EmitOMPLastprivateClauseInit()
816 void CodeGenFunction::EmitOMPLastprivateClauseFinal( in EmitOMPLastprivateClauseFinal()
886 static Address castToBase(CodeGenFunction &CGF, QualType BaseTy, QualType ElTy, in castToBase()
913 static LValue loadToBegin(CodeGenFunction &CGF, QualType BaseTy, QualType ElTy, in loadToBegin()
934 void CodeGenFunction::EmitOMPReductionClauseInit( in EmitOMPReductionClauseInit()
936 CodeGenFunction::OMPPrivateScope &PrivateScope) { in EmitOMPReductionClauseInit()
980 CodeGenFunction::OpaqueValueMapping OpaqueMap( in EmitOMPReductionClauseInit()
1069 CodeGenFunction::OpaqueValueMapping OpaqueMap( in EmitOMPReductionClauseInit()
1137 void CodeGenFunction::EmitOMPReductionClauseFinal( in EmitOMPReductionClauseFinal()
1166 CodeGenFunction &CGF, const OMPExecutableDirective &D, in emitPostUpdateForReductionClause()
1167 const llvm::function_ref<llvm::Value *(CodeGenFunction &)> &CondGen) { in emitPostUpdateForReductionClause()
1190 static void emitCommonOMPParallelDirective(CodeGenFunction &CGF, in emitCommonOMPParallelDirective()
1199 CodeGenFunction::RunCleanupsScope NumThreadsScope(CGF); in emitCommonOMPParallelDirective()
1206 CodeGenFunction::RunCleanupsScope ProcBindScope(CGF); in emitCommonOMPParallelDirective()
1226 void CodeGenFunction::EmitOMPParallelDirective(const OMPParallelDirective &S) { in EmitOMPParallelDirective()
1228 auto &&CodeGen = [&S](CodeGenFunction &CGF, PrePostActionTy &) { in EmitOMPParallelDirective()
1248 *this, S, [](CodeGenFunction &) -> llvm::Value * { return nullptr; }); in EmitOMPParallelDirective() argument
1251 void CodeGenFunction::EmitOMPLoopBody(const OMPLoopDirective &D, in EmitOMPLoopBody()
1274 void CodeGenFunction::EmitOMPInnerLoop( in EmitOMPInnerLoop()
1277 const llvm::function_ref<void(CodeGenFunction &)> &BodyGen, in EmitOMPInnerLoop()
1278 const llvm::function_ref<void(CodeGenFunction &)> &PostIncGen) { in EmitOMPInnerLoop()
1321 void CodeGenFunction::EmitOMPLinearClauseInit(const OMPLoopDirective &D) { in EmitOMPLinearClauseInit()
1353 void CodeGenFunction::EmitOMPLinearClauseFinal( in EmitOMPLinearClauseFinal()
1355 const llvm::function_ref<llvm::Value *(CodeGenFunction &)> &CondGen) { in EmitOMPLinearClauseFinal()
1378 CodeGenFunction::OMPPrivateScope VarScope(*this); in EmitOMPLinearClauseFinal()
1391 static void emitAlignedClause(CodeGenFunction &CGF, in emitAlignedClause()
1424 void CodeGenFunction::EmitOMPPrivateLoopCounters( in EmitOMPPrivateLoopCounters()
1425 const OMPLoopDirective &S, CodeGenFunction::OMPPrivateScope &LoopScope) { in EmitOMPPrivateLoopCounters()
1456 static void emitPreCond(CodeGenFunction &CGF, const OMPLoopDirective &S, in emitPreCond()
1462 CodeGenFunction::OMPPrivateScope PreCondScope(CGF); in emitPreCond()
1474 void CodeGenFunction::EmitOMPLinearClause( in EmitOMPLinearClause()
1475 const OMPLoopDirective &D, CodeGenFunction::OMPPrivateScope &PrivateScope) { in EmitOMPLinearClause()
1508 static void emitSimdlenSafelenClause(CodeGenFunction &CGF, in emitSimdlenSafelenClause()
1535 void CodeGenFunction::EmitOMPSimdInit(const OMPLoopDirective &D, in EmitOMPSimdInit()
1543 void CodeGenFunction::EmitOMPSimdFinal( in EmitOMPSimdFinal()
1545 const llvm::function_ref<llvm::Value *(CodeGenFunction &)> &CondGen) { in EmitOMPSimdFinal()
1589 void CodeGenFunction::EmitOMPSimdDirective(const OMPSimdDirective &S) { in EmitOMPSimdDirective()
1590 auto &&CodeGen = [&S](CodeGenFunction &CGF, PrePostActionTy &) { in EmitOMPSimdDirective()
1645 [&S](CodeGenFunction &CGF) { in EmitOMPSimdDirective()
1649 [](CodeGenFunction &) {}); in EmitOMPSimdDirective() argument
1651 S, [](CodeGenFunction &) -> llvm::Value * { return nullptr; }); in EmitOMPSimdDirective() argument
1657 CGF, S, [](CodeGenFunction &) -> llvm::Value * { return nullptr; }); in EmitOMPSimdDirective() argument
1660 S, [](CodeGenFunction &) -> llvm::Value * { return nullptr; }); in EmitOMPSimdDirective() argument
1671 void CodeGenFunction::EmitOMPOuterLoop(bool DynamicOrOrdered, bool IsMonotonic, in EmitOMPOuterLoop()
1732 [&S, LoopExit](CodeGenFunction &CGF) { in EmitOMPOuterLoop()
1736 [Ordered, IVSize, IVSigned, Loc](CodeGenFunction &CGF) { in EmitOMPOuterLoop()
1762 void CodeGenFunction::EmitOMPForOuterLoop( in EmitOMPForOuterLoop()
1844 void CodeGenFunction::EmitOMPDistributeOuterLoop( in EmitOMPDistributeOuterLoop()
1868 void CodeGenFunction::EmitOMPDistributeParallelForDirective( in EmitOMPDistributeParallelForDirective()
1873 [&S](CodeGenFunction &CGF, PrePostActionTy &) { in EmitOMPDistributeParallelForDirective()
1880 void CodeGenFunction::EmitOMPDistributeParallelForSimdDirective( in EmitOMPDistributeParallelForSimdDirective()
1885 [&S](CodeGenFunction &CGF, PrePostActionTy &) { in EmitOMPDistributeParallelForSimdDirective()
1892 void CodeGenFunction::EmitOMPDistributeSimdDirective( in EmitOMPDistributeSimdDirective()
1897 [&S](CodeGenFunction &CGF, PrePostActionTy &) { in EmitOMPDistributeSimdDirective()
1904 void CodeGenFunction::EmitOMPTargetParallelForSimdDirective( in EmitOMPTargetParallelForSimdDirective()
1909 [&S](CodeGenFunction &CGF, PrePostActionTy &) { in EmitOMPTargetParallelForSimdDirective()
1917 static LValue EmitOMPHelperVar(CodeGenFunction &CGF, in EmitOMPHelperVar()
1936 bool CodeGenFunction::EmitOMPWorksharingLoop(const OMPLoopDirective &S) { in EmitOMPWorksharingLoop()
2056 [&S, LoopExit](CodeGenFunction &CGF) { in EmitOMPWorksharingLoop()
2060 [](CodeGenFunction &) {}); in EmitOMPWorksharingLoop() argument
2078 [&](CodeGenFunction &CGF) -> llvm::Value * { in EmitOMPWorksharingLoop()
2086 *this, S, [&](CodeGenFunction &CGF) -> llvm::Value * { in EmitOMPWorksharingLoop()
2096 EmitOMPLinearClauseFinal(S, [&](CodeGenFunction &CGF) -> llvm::Value * { in EmitOMPWorksharingLoop()
2109 void CodeGenFunction::EmitOMPForDirective(const OMPForDirective &S) { in EmitOMPForDirective()
2111 auto &&CodeGen = [&S, &HasLastprivates](CodeGenFunction &CGF, in EmitOMPForDirective()
2127 void CodeGenFunction::EmitOMPForSimdDirective(const OMPForSimdDirective &S) { in EmitOMPForSimdDirective()
2129 auto &&CodeGen = [&S, &HasLastprivates](CodeGenFunction &CGF, in EmitOMPForSimdDirective()
2144 static LValue createSectionLVal(CodeGenFunction &CGF, QualType Ty, in createSectionLVal()
2153 void CodeGenFunction::EmitSections(const OMPExecutableDirective &S) { in EmitSections()
2157 auto &&CodeGen = [&S, Stmt, CS, &HasLastprivates](CodeGenFunction &CGF, in EmitSections()
2175 CodeGenFunction::OpaqueValueMapping OpaqueIV(CGF, &IVRefExpr, IV); in EmitSections()
2177 CodeGenFunction::OpaqueValueMapping OpaqueUB(CGF, &UBRefExpr, UB); in EmitSections()
2185 auto BodyGen = [Stmt, CS, &S, &IV](CodeGenFunction &CGF) { in EmitSections()
2221 CodeGenFunction::OMPPrivateScope LoopScope(CGF); in EmitSections()
2251 [](CodeGenFunction &) {}); in EmitSections() argument
2257 CGF, S, [&](CodeGenFunction &CGF) -> llvm::Value * { in EmitSections()
2288 void CodeGenFunction::EmitOMPSectionsDirective(const OMPSectionsDirective &S) { in EmitOMPSectionsDirective()
2300 void CodeGenFunction::EmitOMPSectionDirective(const OMPSectionDirective &S) { in EmitOMPSectionDirective()
2301 auto &&CodeGen = [&S](CodeGenFunction &CGF, PrePostActionTy &) { in EmitOMPSectionDirective()
2309 void CodeGenFunction::EmitOMPSingleDirective(const OMPSingleDirective &S) { in EmitOMPSingleDirective()
2327 auto &&CodeGen = [&S](CodeGenFunction &CGF, PrePostActionTy &Action) { in EmitOMPSingleDirective()
2350 void CodeGenFunction::EmitOMPMasterDirective(const OMPMasterDirective &S) { in EmitOMPMasterDirective()
2351 auto &&CodeGen = [&S](CodeGenFunction &CGF, PrePostActionTy &Action) { in EmitOMPMasterDirective()
2359 void CodeGenFunction::EmitOMPCriticalDirective(const OMPCriticalDirective &S) { in EmitOMPCriticalDirective()
2360 auto &&CodeGen = [&S](CodeGenFunction &CGF, PrePostActionTy &Action) { in EmitOMPCriticalDirective()
2373 void CodeGenFunction::EmitOMPParallelForDirective( in EmitOMPParallelForDirective()
2377 auto &&CodeGen = [&S](CodeGenFunction &CGF, PrePostActionTy &) { in EmitOMPParallelForDirective()
2383 void CodeGenFunction::EmitOMPParallelForSimdDirective( in EmitOMPParallelForSimdDirective()
2387 auto &&CodeGen = [&S](CodeGenFunction &CGF, PrePostActionTy &) { in EmitOMPParallelForSimdDirective()
2393 void CodeGenFunction::EmitOMPParallelSectionsDirective( in EmitOMPParallelSectionsDirective()
2397 auto &&CodeGen = [&S](CodeGenFunction &CGF, PrePostActionTy &) { in EmitOMPParallelSectionsDirective()
2403 void CodeGenFunction::EmitOMPTaskBasedDirective(const OMPExecutableDirective &S, in EmitOMPTaskBasedDirective()
2491 CodeGenFunction &CGF, PrePostActionTy &Action) { in EmitOMPTaskBasedDirective()
2557 void CodeGenFunction::EmitOMPTaskDirective(const OMPTaskDirective &S) { in EmitOMPTaskDirective()
2574 auto &&BodyGen = [CS](CodeGenFunction &CGF, PrePostActionTy &) { in EmitOMPTaskDirective()
2578 IfCond](CodeGenFunction &CGF, llvm::Value *OutlinedFn, in EmitOMPTaskDirective()
2587 void CodeGenFunction::EmitOMPTaskyieldDirective( in EmitOMPTaskyieldDirective()
2592 void CodeGenFunction::EmitOMPBarrierDirective(const OMPBarrierDirective &S) { in EmitOMPBarrierDirective()
2596 void CodeGenFunction::EmitOMPTaskwaitDirective(const OMPTaskwaitDirective &S) { in EmitOMPTaskwaitDirective()
2600 void CodeGenFunction::EmitOMPTaskgroupDirective( in EmitOMPTaskgroupDirective()
2602 auto &&CodeGen = [&S](CodeGenFunction &CGF, PrePostActionTy &Action) { in EmitOMPTaskgroupDirective()
2610 void CodeGenFunction::EmitOMPFlushDirective(const OMPFlushDirective &S) { in EmitOMPFlushDirective()
2620 void CodeGenFunction::EmitOMPDistributeLoop(const OMPDistributeDirective &S) { in EmitOMPDistributeLoop()
2711 [&S, LoopExit](CodeGenFunction &CGF) { in EmitOMPDistributeLoop()
2715 [](CodeGenFunction &) {}); in EmitOMPDistributeLoop() argument
2736 void CodeGenFunction::EmitOMPDistributeDirective( in EmitOMPDistributeDirective()
2738 auto &&CodeGen = [&S](CodeGenFunction &CGF, PrePostActionTy &) { in EmitOMPDistributeDirective()
2748 CodeGenFunction CGF(CGM, /*suppressNewContext=*/true); in emitOutlinedOrderedFunction()
2749 CodeGenFunction::CGCapturedStmtInfo CapStmtInfo; in emitOutlinedOrderedFunction()
2756 void CodeGenFunction::EmitOMPOrderedDirective(const OMPOrderedDirective &S) { in EmitOMPOrderedDirective()
2763 auto &&CodeGen = [&S, C, this](CodeGenFunction &CGF, in EmitOMPOrderedDirective()
2781 static llvm::Value *convertToScalarValue(CodeGenFunction &CGF, RValue Val, in convertToScalarValue()
2794 static CodeGenFunction::ComplexPairTy
2795 convertToComplexValue(CodeGenFunction &CGF, RValue Val, QualType SrcType, in convertToComplexValue()
2799 CodeGenFunction::ComplexPairTy ComplexVal; in convertToComplexValue()
2805 ComplexVal = CodeGenFunction::ComplexPairTy( in convertToComplexValue()
2819 static void emitSimpleAtomicStore(CodeGenFunction &CGF, bool IsSeqCst, in emitSimpleAtomicStore()
2831 void CodeGenFunction::emitOMPSimpleStore(LValue LVal, RValue RVal, in emitOMPSimpleStore()
2849 static void EmitOMPAtomicReadExpr(CodeGenFunction &CGF, bool IsSeqCst, in EmitOMPAtomicReadExpr()
2873 static void EmitOMPAtomicWriteExpr(CodeGenFunction &CGF, bool IsSeqCst, in EmitOMPAtomicWriteExpr()
2887 static std::pair<bool, RValue> emitOMPAtomicRMW(CodeGenFunction &CGF, LValue X, in emitOMPAtomicRMW()
2979 std::pair<bool, RValue> CodeGenFunction::EmitOMPAtomicSimpleUpdateExpr( in EmitOMPAtomicSimpleUpdateExpr()
3003 static void EmitOMPAtomicUpdateExpr(CodeGenFunction &CGF, bool IsSeqCst, in EmitOMPAtomicUpdateExpr()
3027 CodeGenFunction::OpaqueValueMapping MapExpr(CGF, ERValExpr, ExprRValue); in EmitOMPAtomicUpdateExpr()
3028 CodeGenFunction::OpaqueValueMapping MapX(CGF, XRValExpr, XRValue); in EmitOMPAtomicUpdateExpr()
3041 static RValue convertToType(CodeGenFunction &CGF, RValue Value, in convertToType()
3058 static void EmitOMPAtomicCaptureExpr(CodeGenFunction &CGF, bool IsSeqCst, in EmitOMPAtomicCaptureExpr()
3090 CodeGenFunction::OpaqueValueMapping MapExpr(CGF, ERValExpr, ExprRValue); in EmitOMPAtomicCaptureExpr()
3091 CodeGenFunction::OpaqueValueMapping MapX(CGF, XRValExpr, XRValue); in EmitOMPAtomicCaptureExpr()
3106 CodeGenFunction::OpaqueValueMapping MapExpr(CGF, ERValExpr, ExprRValue); in EmitOMPAtomicCaptureExpr()
3107 CodeGenFunction::OpaqueValueMapping MapX(CGF, XRValExpr, Res.second); in EmitOMPAtomicCaptureExpr()
3139 static void EmitOMPAtomicExpr(CodeGenFunction &CGF, OpenMPClauseKind Kind, in EmitOMPAtomicExpr()
3207 void CodeGenFunction::EmitOMPAtomicDirective(const OMPAtomicDirective &S) { in EmitOMPAtomicDirective()
3232 auto &&CodeGen = [&S, Kind, IsSeqCst, CS](CodeGenFunction &CGF, in EmitOMPAtomicDirective()
3244 CodeGenFunction::EmitOMPTargetDirectiveOutlinedFunction( in EmitOMPTargetDirectiveOutlinedFunction()
3249 auto &&CodeGen = [&S](CodeGenFunction &CGF, PrePostActionTy &Action) { in EmitOMPTargetDirectiveOutlinedFunction()
3264 void CodeGenFunction::EmitOMPTargetDirective(const OMPTargetDirective &S) { in EmitOMPTargetDirective()
3317 static void emitCommonOMPTeamsDirective(CodeGenFunction &CGF, in emitCommonOMPTeamsDirective()
3344 void CodeGenFunction::EmitOMPTeamsDirective(const OMPTeamsDirective &S) { in EmitOMPTeamsDirective()
3346 auto &&CodeGen = [&S](CodeGenFunction &CGF, PrePostActionTy &) { in EmitOMPTeamsDirective()
3356 void CodeGenFunction::EmitOMPCancellationPointDirective( in EmitOMPCancellationPointDirective()
3362 void CodeGenFunction::EmitOMPCancelDirective(const OMPCancelDirective &S) { in EmitOMPCancelDirective()
3375 CodeGenFunction::JumpDest
3376 CodeGenFunction::getOMPCancelDestination(OpenMPDirectiveKind Kind) { in getOMPCancelDestination()
3385 void CodeGenFunction::EmitOMPTargetDataDirective( in EmitOMPTargetDataDirective()
3389 auto &&CodeGen = [&S](CodeGenFunction &CGF, PrePostActionTy &) { in EmitOMPTargetDataDirective()
3416 void CodeGenFunction::EmitOMPTargetEnterDataDirective( in EmitOMPTargetEnterDataDirective()
3436 void CodeGenFunction::EmitOMPTargetExitDataDirective( in EmitOMPTargetExitDataDirective()
3456 void CodeGenFunction::EmitOMPTargetParallelDirective( in EmitOMPTargetParallelDirective()
3461 void CodeGenFunction::EmitOMPTargetParallelForDirective( in EmitOMPTargetParallelForDirective()
3467 static void mapParam(CodeGenFunction &CGF, const DeclRefExpr *Helper, in mapParam()
3469 CodeGenFunction::OMPPrivateScope &Privates) { in mapParam()
3475 void CodeGenFunction::EmitOMPTaskLoopBasedDirective(const OMPLoopDirective &S) { in EmitOMPTaskLoopBasedDirective()
3506 auto &&BodyGen = [CS, &S](CodeGenFunction &CGF, PrePostActionTy &) { in EmitOMPTaskLoopBasedDirective()
3569 [&S](CodeGenFunction &CGF) { in EmitOMPTaskLoopBasedDirective()
3573 [](CodeGenFunction &) {}); in EmitOMPTaskLoopBasedDirective() argument
3589 IfCond](CodeGenFunction &CGF, llvm::Value *OutlinedFn, in EmitOMPTaskLoopBasedDirective()
3591 auto &&CodeGen = [&](CodeGenFunction &CGF, PrePostActionTy &) { in EmitOMPTaskLoopBasedDirective()
3603 void CodeGenFunction::EmitOMPTaskLoopDirective(const OMPTaskLoopDirective &S) { in EmitOMPTaskLoopDirective()
3607 void CodeGenFunction::EmitOMPTaskLoopSimdDirective( in EmitOMPTaskLoopSimdDirective()
3613 void CodeGenFunction::EmitOMPTargetUpdateDirective( in EmitOMPTargetUpdateDirective()