@@ -2092,18 +2092,36 @@ Sema::SemaDiagnosticBuilder::~SemaDiagnosticBuilder() {
}
Sema::SemaDiagnosticBuilder
-Sema::targetDiag(SourceLocation Loc, unsigned DiagID, const FunctionDecl *FD) {
+Sema::targetDiag(SourceLocation Loc, unsigned DiagID, FunctionDecl *FD) {
FD = FD
https://github.com/alexey-bataev commented:
Need codegen tests
https://github.com/llvm/llvm-project/pull/148048
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/alexey-bataev approved this pull request.
https://github.com/llvm/llvm-project/pull/146093
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -960,6 +960,8 @@ def OMP_Parallel : Directive<[Spelling<"parallel">]> {
VersionedClause,
VersionedClause,
VersionedClause,
+VersionedClause,
+VersionedClause,
alexey-bataev wrote:
Version not provided
https://github.com/llvm/llvm-projec
https://github.com/alexey-bataev closed
https://github.com/llvm/llvm-project/pull/146934
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/alexey-bataev approved this pull request.
https://github.com/llvm/llvm-project/pull/146934
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/alexey-bataev approved this pull request.
https://github.com/llvm/llvm-project/pull/147163
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/alexey-bataev approved this pull request.
https://github.com/llvm/llvm-project/pull/146779
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
alexey-bataev wrote:
Yep, missed for some reason
https://github.com/llvm/llvm-project/pull/146779
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/alexey-bataev approved this pull request.
https://github.com/llvm/llvm-project/pull/146891
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/alexey-bataev approved this pull request.
https://github.com/llvm/llvm-project/pull/146934
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/alexey-bataev approved this pull request.
https://github.com/llvm/llvm-project/pull/145854
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -2332,6 +2332,12 @@ void CodeGenFunction::EmitOMPPrivateLoopCounters(
for (const Expr *E : S.counters()) {
const auto *VD = cast(cast(E)->getDecl());
const auto *PrivateVD = cast(cast(*I)->getDecl());
+// Privatize original counter variable (e.g., __beginN, __e
@@ -0,0 +1,419 @@
+// NOTE: Assertions have been autogenerated by utils/update_cc_test_checks.py
UTC_ARGS: --clang-args ['-fopenmp', '-std=c++20'] --function-signature
--include-generated-funcs --replace-value-regex
"__omp_offloading_[0-9a-z]+_[0-9a-z]+" "reduction_size[.].+[.]
alexey-bataev wrote:
Please, update release notes and OpenMPSupport.rst
https://github.com/llvm/llvm-project/pull/145854
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -8811,8 +8829,19 @@ class MappableExprsHandler {
++EI;
}
}
-llvm::stable_sort(DeclComponentLists, [](const MapData &LHS,
- const MapData &RHS) {
+llvm::stable_sort(DeclComponentLists, [VD](const MapData &L
@@ -8811,8 +8829,19 @@ class MappableExprsHandler {
++EI;
}
}
-llvm::stable_sort(DeclComponentLists, [](const MapData &LHS,
- const MapData &RHS) {
+llvm::stable_sort(DeclComponentLists, [VD](const MapData &L
https://github.com/alexey-bataev approved this pull request.
https://github.com/llvm/llvm-project/pull/145490
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -1,174 +1,178 @@
-// NOTE: Assertions have been autogenerated by utils/update_cc_test_checks.py
UTC_ARGS: --function-signature --include-generated-funcs --replace-value-regex
"__omp_offloading_[0-9a-z]+_[0-9a-z]+" "reduction_size[.].+[.]"
"pl_cond[.].+[.|,]" --prefix-fileche
@@ -8811,8 +8829,19 @@ class MappableExprsHandler {
++EI;
}
}
-llvm::stable_sort(DeclComponentLists, [](const MapData &LHS,
- const MapData &RHS) {
+llvm::stable_sort(DeclComponentLists, [VD](const MapData &L
@@ -7384,7 +7384,40 @@ class MappableExprsHandler {
// dimension.
uint64_t DimSize = 1;
-bool IsNonContiguous = CombinedInfo.NonContigInfo.IsNonContiguous;
+// Detects non-contiguous updates due to strided accesses.
+// Sets the 'IsNonContiguous' flag so th
@@ -8811,8 +8829,19 @@ class MappableExprsHandler {
++EI;
}
}
-llvm::stable_sort(DeclComponentLists, [](const MapData &LHS,
- const MapData &RHS) {
+llvm::stable_sort(DeclComponentLists, [VD](const MapData &L
https://github.com/alexey-bataev commented:
Do you have the printing test for all updated directives?
https://github.com/llvm/llvm-project/pull/141772
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listin
alexey-bataev wrote:
> @alexey-bataev, could you clarify what tests you had in mind?
Would be good to see the new test for the new spellings, like `omp parallel_for`
https://github.com/llvm/llvm-project/pull/141772
___
cfe-commits mailing list
cfe-com
@@ -7384,7 +7384,40 @@ class MappableExprsHandler {
// dimension.
uint64_t DimSize = 1;
-bool IsNonContiguous = CombinedInfo.NonContigInfo.IsNonContiguous;
+// Detects non-contiguous updates due to strided accesses.
+// Sets the 'IsNonContiguous' flag so th
@@ -1479,7 +1492,109 @@ class SemaOpenMP : public SemaBase {
bool checkTransformableLoopNest(
OpenMPDirectiveKind Kind, Stmt *AStmt, int NumLoops,
SmallVectorImpl &LoopHelpers,
- Stmt *&Body, SmallVectorImpl> &OriginalInits);
+ Stmt *&Body, SmallVectorIm
@@ -14189,10 +14194,48 @@ StmtResult
SemaOpenMP::ActOnOpenMPTargetTeamsDistributeSimdDirective(
getASTContext(), StartLoc, EndLoc, NestedLoopCount, Clauses, AStmt, B);
}
+/// Overloaded base case function
+template static bool tryHandleAs(T *t, F &&) {
@@ -14175,27 +14222,350 @@ bool SemaOpenMP::checkTransformableLoopNest(
return false;
},
[&OriginalInits](OMPLoopBasedDirective *Transform) {
-Stmt *DependentPreInits;
-if (auto *Dir = dyn_cast(Transform))
- DependentPreInits = Dir->
@@ -14219,27 +14262,320 @@ bool SemaOpenMP::checkTransformableLoopNest(
return false;
},
[&OriginalInits](OMPLoopBasedDirective *Transform) {
-Stmt *DependentPreInits;
-if (auto *Dir = dyn_cast(Transform))
- DependentPreInits = Dir->
@@ -15499,6 +15836,496 @@ StmtResult
SemaOpenMP::ActOnOpenMPInterchangeDirective(
buildPreInits(Context, PreInits));
}
+StmtResult SemaOpenMP::ActOnOpenMPFuseDirective(ArrayRef Clauses,
+
@@ -1479,7 +1492,109 @@ class SemaOpenMP : public SemaBase {
bool checkTransformableLoopNest(
OpenMPDirectiveKind Kind, Stmt *AStmt, int NumLoops,
SmallVectorImpl &LoopHelpers,
- Stmt *&Body, SmallVectorImpl> &OriginalInits);
+ Stmt *&Body, SmallVectorIm
@@ -1479,7 +1492,109 @@ class SemaOpenMP : public SemaBase {
bool checkTransformableLoopNest(
OpenMPDirectiveKind Kind, Stmt *AStmt, int NumLoops,
SmallVectorImpl &LoopHelpers,
- Stmt *&Body, SmallVectorImpl> &OriginalInits);
+ Stmt *&Body, SmallVectorIm
@@ -1024,6 +1024,29 @@ OMPPartialClause *OMPPartialClause::CreateEmpty(const
ASTContext &C) {
return new (C) OMPPartialClause();
}
+OMPLoopRangeClause *
+OMPLoopRangeClause::Create(const ASTContext &C, SourceLocation StartLoc,
+ SourceLocation LPar
@@ -14189,10 +14194,48 @@ StmtResult
SemaOpenMP::ActOnOpenMPTargetTeamsDistributeSimdDirective(
getASTContext(), StartLoc, EndLoc, NestedLoopCount, Clauses, AStmt, B);
}
+/// Overloaded base case function
+template static bool tryHandleAs(T *t, F &&) {
+ return false;
@@ -15499,6 +15836,496 @@ StmtResult
SemaOpenMP::ActOnOpenMPInterchangeDirective(
buildPreInits(Context, PreInits));
}
+StmtResult SemaOpenMP::ActOnOpenMPFuseDirective(ArrayRef Clauses,
+
@@ -14189,10 +14194,48 @@ StmtResult
SemaOpenMP::ActOnOpenMPTargetTeamsDistributeSimdDirective(
getASTContext(), StartLoc, EndLoc, NestedLoopCount, Clauses, AStmt, B);
}
+/// Overloaded base case function
+template static bool tryHandleAs(T *t, F &&) {
+ return false;
@@ -1143,6 +1143,101 @@ class OMPFullClause final : public
OMPNoChildClause {
static OMPFullClause *CreateEmpty(const ASTContext &C);
};
+/// This class represents the 'looprange' clause in the
+/// '#pragma omp fuse' directive
+///
+/// \code {c}
+/// #pragma omp fuse loop
@@ -1143,6 +1143,101 @@ class OMPFullClause final : public
OMPNoChildClause {
static OMPFullClause *CreateEmpty(const ASTContext &C);
};
+/// This class represents the 'looprange' clause in the
+/// '#pragma omp fuse' directive
+///
+/// \code {c}
+/// #pragma omp fuse loop
@@ -1143,6 +1143,101 @@ class OMPFullClause final : public
OMPNoChildClause {
static OMPFullClause *CreateEmpty(const ASTContext &C);
};
+/// This class represents the 'looprange' clause in the
+/// '#pragma omp fuse' directive
+///
+/// \code {c}
+/// #pragma omp fuse loop
@@ -1479,7 +1492,109 @@ class SemaOpenMP : public SemaBase {
bool checkTransformableLoopNest(
OpenMPDirectiveKind Kind, Stmt *AStmt, int NumLoops,
SmallVectorImpl &LoopHelpers,
- Stmt *&Body, SmallVectorImpl> &OriginalInits);
+ Stmt *&Body, SmallVectorIm
@@ -1515,11 +1516,21 @@ void
Parser::ParseOMPDeclareVariantClauses(Parser::DeclGroupPtrTy Ptr,
SmallVector Vars;
IsError = ParseOpenMPVarList(OMPD_declare_variant, OMPC_adjust_args,
Vars, Data);
-if (!IsError)
-
https://github.com/alexey-bataev approved this pull request.
https://github.com/llvm/llvm-project/pull/134709
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/alexey-bataev approved this pull request.
https://github.com/llvm/llvm-project/pull/140532
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/alexey-bataev approved this pull request.
https://github.com/llvm/llvm-project/pull/143504
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/alexey-bataev approved this pull request.
https://github.com/llvm/llvm-project/pull/141250
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/alexey-bataev closed
https://github.com/llvm/llvm-project/pull/141250
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
alexey-bataev wrote:
> AnalyzeLoopSequence
Could you point, where this is located?
https://github.com/llvm/llvm-project/pull/140532
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -1352,7 +1352,12 @@ static StringRef
getIdentStringFromSourceLocation(CodeGenFunction &CGF,
llvm::raw_svector_ostream OS(Buffer);
// Build debug location
PresumedLoc PLoc = CGF.getContext().getSourceManager().getPresumedLoc(Loc);
- OS << ";" << PLoc.getFilename() <<
@@ -3947,7 +3947,7 @@ static void emitScanBasedDirective(
CGF.CGM.getOpenMPRuntime().emitReduction(
CGF, S.getEndLoc(), Privates, LHSs, RHSs, ReductionOps,
{/*WithNowait=*/true, /*SimpleReduction=*/true,
- /*IsPrivateVarReduction*/{}, OMPD_un
https://github.com/alexey-bataev edited
https://github.com/llvm/llvm-project/pull/134709
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/alexey-bataev approved this pull request.
LG with nits
https://github.com/llvm/llvm-project/pull/134709
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -5753,7 +5753,7 @@ void CodeGenFunction::EmitOMPScanDirective(const
OMPScanDirective &S) {
CGM.getOpenMPRuntime().emitReduction(
*this, ParentDir.getEndLoc(), Privates, LHSs, RHSs, ReductionOps,
{/*WithNowait=*/true, /*SimpleReduction=*/true,
-
alexey-bataev wrote:
> > What I see in the source code that it is used as a boolean flag. Can we
> > transform it to bool? There is no need to keep it integer
>
> Please could you cite the exact line? I'm not sure if you are refering to the
> logic inside checkTransformableLoopNest or not.
I
alexey-bataev wrote:
What I see in the source code that it is used as a boolean flag. Can we
transform it to bool? There is no need to keep it integer
https://github.com/llvm/llvm-project/pull/140532
___
cfe-commits mailing list
cfe-commits@lists.llvm
@@ -3943,7 +3946,8 @@ static void emitScanBasedDirective(
PrivScope.Privatize();
CGF.CGM.getOpenMPRuntime().emitReduction(
CGF, S.getEndLoc(), Privates, LHSs, RHSs, ReductionOps,
- {/*WithNowait=*/true, /*SimpleReduction=*/true, OMPD_unknown});
+
alexey-bataev wrote:
> @alexey-bataev After conducting an examination of the directive handling
> logic, I can confidently state that the number of generated loops
> (`NumGeneratedLoops`) does not affect the semantic checks for the majority of
> transformations. This is because values are usua
@@ -5748,7 +5752,8 @@ void CodeGenFunction::EmitOMPScanDirective(const
OMPScanDirective &S) {
}
CGM.getOpenMPRuntime().emitReduction(
*this, ParentDir.getEndLoc(), Privates, LHSs, RHSs, ReductionOps,
- {/*WithNowait=*/true, /*SimpleReduction=*/tr
alexey-bataev wrote:
It would be good to try to find the cases that may reveal this issues before
committing the patch
https://github.com/llvm/llvm-project/pull/140532
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-
@@ -4898,6 +4898,234 @@ void
CGOpenMPRuntime::emitSingleReductionCombiner(CodeGenFunction &CGF,
}
}
+void CGOpenMPRuntime::emitPrivateReduction(
+CodeGenFunction &CGF, SourceLocation Loc, const Expr *Privates,
+const Expr *LHSExprs, const Expr *RHSExprs, const Expr
@@ -4898,6 +4898,234 @@ void
CGOpenMPRuntime::emitSingleReductionCombiner(CodeGenFunction &CGF,
}
}
+void CGOpenMPRuntime::emitPrivateReduction(
+CodeGenFunction &CGF, SourceLocation Loc, const Expr *Privates,
+const Expr *LHSExprs, const Expr *RHSExprs, const Expr
@@ -4898,6 +4898,234 @@ void
CGOpenMPRuntime::emitSingleReductionCombiner(CodeGenFunction &CGF,
}
}
+void CGOpenMPRuntime::emitPrivateReduction(
+CodeGenFunction &CGF, SourceLocation Loc, const Expr *Privates,
+const Expr *LHSExprs, const Expr *RHSExprs, const Expr
@@ -4898,6 +4898,234 @@ void
CGOpenMPRuntime::emitSingleReductionCombiner(CodeGenFunction &CGF,
}
}
+void CGOpenMPRuntime::emitPrivateReduction(
+CodeGenFunction &CGF, SourceLocation Loc, const Expr *Privates,
+const Expr *LHSExprs, const Expr *RHSExprs, const Expr
@@ -4898,6 +4898,234 @@ void
CGOpenMPRuntime::emitSingleReductionCombiner(CodeGenFunction &CGF,
}
}
+void CGOpenMPRuntime::emitPrivateReduction(
+CodeGenFunction &CGF, SourceLocation Loc, const Expr *Privates,
+const Expr *LHSExprs, const Expr *RHSExprs, const Expr
@@ -4898,6 +4898,234 @@ void
CGOpenMPRuntime::emitSingleReductionCombiner(CodeGenFunction &CGF,
}
}
+void CGOpenMPRuntime::emitPrivateReduction(
+CodeGenFunction &CGF, SourceLocation Loc, const Expr *Privates,
+const Expr *LHSExprs, const Expr *RHSExprs, const Expr
alexey-bataev wrote:
Are there any tests that might be affected by this change?
https://github.com/llvm/llvm-project/pull/140532
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -11516,6 +11516,21 @@ def note_omp_implicit_dsa : Note<
"implicitly determined as %0">;
def err_omp_loop_var_dsa : Error<
"loop iteration variable in the associated loop of 'omp %1' directive may
not be %0, predetermined as %2">;
+def warn_omp_different_loop_ind_var_typ
@@ -11516,6 +11516,21 @@ def note_omp_implicit_dsa : Note<
"implicitly determined as %0">;
def err_omp_loop_var_dsa : Error<
"loop iteration variable in the associated loop of 'omp %1' directive may
not be %0, predetermined as %2">;
+def warn_omp_different_loop_ind_var_typ
alexey-bataev wrote:
Do we need the number of generated loops at all? Is it used anywhere? Maybe it
worth it to remove it?
https://github.com/llvm/llvm-project/pull/140532
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/
@@ -5748,7 +5754,7 @@ void CodeGenFunction::EmitOMPScanDirective(const
OMPScanDirective &S) {
}
CGM.getOpenMPRuntime().emitReduction(
*this, ParentDir.getEndLoc(), Privates, LHSs, RHSs, ReductionOps,
- {/*WithNowait=*/true, /*SimpleReduction=*/tr
@@ -1481,6 +1482,8 @@ void CodeGenFunction::EmitOMPReductionClauseFinal(
Privates.append(C->privates().begin(), C->privates().end());
LHSExprs.append(C->lhs_exprs().begin(), C->lhs_exprs().end());
RHSExprs.append(C->rhs_exprs().begin(), C->rhs_exprs().end());
+I
@@ -3943,7 +3948,8 @@ static void emitScanBasedDirective(
PrivScope.Privatize();
CGF.CGM.getOpenMPRuntime().emitReduction(
CGF, S.getEndLoc(), Privates, LHSs, RHSs, ReductionOps,
- {/*WithNowait=*/true, /*SimpleReduction=*/true, OMPD_unknown});
+
@@ -5200,6 +5428,26 @@ void CGOpenMPRuntime::emitReduction(CodeGenFunction
&CGF, SourceLocation Loc,
CGF.EmitBranch(DefaultBB);
CGF.EmitBlock(DefaultBB, /*IsFinished=*/true);
+ if (Options.IsPrivateVarReduction) {
+if (LHSExprs.empty() || Privates.empty() || Reductio
@@ -5200,6 +5460,18 @@ void CGOpenMPRuntime::emitReduction(CodeGenFunction
&CGF, SourceLocation Loc,
CGF.EmitBranch(DefaultBB);
CGF.EmitBlock(DefaultBB, /*IsFinished=*/true);
+ if (Options.IsPrivateVarReduction) {
+if (LHSExprs.empty() || Privates.empty() || Reductio
@@ -4898,6 +4898,274 @@ void
CGOpenMPRuntime::emitSingleReductionCombiner(CodeGenFunction &CGF,
}
}
+void CGOpenMPRuntime::emitPrivateReduction(
+CodeGenFunction &CGF, SourceLocation Loc, const Expr *Privates,
+const Expr *LHSExprs, const Expr *RHSExprs, const Expr
@@ -4898,6 +4898,273 @@ void
CGOpenMPRuntime::emitSingleReductionCombiner(CodeGenFunction &CGF,
}
}
+void CGOpenMPRuntime::emitPrivateReduction(
+CodeGenFunction &CGF, SourceLocation Loc, const Expr *Privates,
+const Expr *LHSExprs, const Expr *RHSExprs, const Expr
@@ -4898,6 +4898,274 @@ void
CGOpenMPRuntime::emitSingleReductionCombiner(CodeGenFunction &CGF,
}
}
+void CGOpenMPRuntime::emitPrivateReduction(
+CodeGenFunction &CGF, SourceLocation Loc, const Expr *Privates,
+const Expr *LHSExprs, const Expr *RHSExprs, const Expr
@@ -4898,6 +4898,274 @@ void
CGOpenMPRuntime::emitSingleReductionCombiner(CodeGenFunction &CGF,
}
}
+void CGOpenMPRuntime::emitPrivateReduction(
+CodeGenFunction &CGF, SourceLocation Loc, const Expr *Privates,
+const Expr *LHSExprs, const Expr *RHSExprs, const Expr
@@ -4898,6 +4898,274 @@ void
CGOpenMPRuntime::emitSingleReductionCombiner(CodeGenFunction &CGF,
}
}
+void CGOpenMPRuntime::emitPrivateReduction(
+CodeGenFunction &CGF, SourceLocation Loc, const Expr *Privates,
+const Expr *LHSExprs, const Expr *RHSExprs, const Expr
@@ -14924,8 +14924,25 @@ StmtResult
SemaOpenMP::ActOnOpenMPUnrollDirective(ArrayRef Clauses,
SourceLocation FactorLoc;
if (Expr *FactorVal = PartialClause->getFactor();
FactorVal && !FactorVal->containsErrors()) {
+if (!VerifyPositiveIntegerConstantInClause(Facto
https://github.com/alexey-bataev edited
https://github.com/llvm/llvm-project/pull/139986
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/alexey-bataev approved this pull request.
LG with a nit
https://github.com/llvm/llvm-project/pull/139986
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -937,15 +937,7 @@ OpenMP Support
- Added support 'no_openmp_constructs' assumption clause.
- Added support for 'self_maps' in map and requirement clause.
- Added support for 'omp stripe' directive.
-- Fixed a crashing bug with ``omp unroll partial`` if the argument to
- ``p
https://github.com/alexey-bataev approved this pull request.
https://github.com/llvm/llvm-project/pull/139901
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/alexey-bataev approved this pull request.
https://github.com/llvm/llvm-project/pull/139793
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -4898,6 +4898,266 @@ void
CGOpenMPRuntime::emitSingleReductionCombiner(CodeGenFunction &CGF,
}
}
+void CGOpenMPRuntime::emitPrivateReduction(
+CodeGenFunction &CGF, SourceLocation Loc, const Expr *Privates,
+const Expr *LHSExprs, const Expr *RHSExprs, const Expr
https://github.com/alexey-bataev approved this pull request.
https://github.com/llvm/llvm-project/pull/138592
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/alexey-bataev approved this pull request.
https://github.com/llvm/llvm-project/pull/139577
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -4898,6 +4898,266 @@ void
CGOpenMPRuntime::emitSingleReductionCombiner(CodeGenFunction &CGF,
}
}
+void CGOpenMPRuntime::emitPrivateReduction(
+CodeGenFunction &CGF, SourceLocation Loc, const Expr *Privates,
+const Expr *LHSExprs, const Expr *RHSExprs, const Expr
@@ -4898,6 +4898,266 @@ void
CGOpenMPRuntime::emitSingleReductionCombiner(CodeGenFunction &CGF,
}
}
+void CGOpenMPRuntime::emitPrivateReduction(
+CodeGenFunction &CGF, SourceLocation Loc, const Expr *Privates,
+const Expr *LHSExprs, const Expr *RHSExprs, const Expr
@@ -4898,6 +4898,266 @@ void
CGOpenMPRuntime::emitSingleReductionCombiner(CodeGenFunction &CGF,
}
}
+void CGOpenMPRuntime::emitPrivateReduction(
+CodeGenFunction &CGF, SourceLocation Loc, const Expr *Privates,
+const Expr *LHSExprs, const Expr *RHSExprs, const Expr
@@ -4898,6 +4898,266 @@ void
CGOpenMPRuntime::emitSingleReductionCombiner(CodeGenFunction &CGF,
}
}
+void CGOpenMPRuntime::emitPrivateReduction(
+CodeGenFunction &CGF, SourceLocation Loc, const Expr *Privates,
+const Expr *LHSExprs, const Expr *RHSExprs, const Expr
@@ -5200,6 +5460,18 @@ void CGOpenMPRuntime::emitReduction(CodeGenFunction
&CGF, SourceLocation Loc,
CGF.EmitBranch(DefaultBB);
CGF.EmitBlock(DefaultBB, /*IsFinished=*/true);
+ if (Options.IsPrivateVarReduction) {
+if (LHSExprs.empty() || Privates.empty() || Reductio
@@ -4898,6 +4898,266 @@ void
CGOpenMPRuntime::emitSingleReductionCombiner(CodeGenFunction &CGF,
}
}
+void CGOpenMPRuntime::emitPrivateReduction(
+CodeGenFunction &CGF, SourceLocation Loc, const Expr *Privates,
+const Expr *LHSExprs, const Expr *RHSExprs, const Expr
https://github.com/alexey-bataev approved this pull request.
https://github.com/llvm/llvm-project/pull/139344
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/alexey-bataev approved this pull request.
https://github.com/llvm/llvm-project/pull/139313
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -14145,6 +14152,46 @@ StmtResult
SemaOpenMP::ActOnOpenMPTargetTeamsDistributeSimdDirective(
getASTContext(), StartLoc, EndLoc, NestedLoopCount, Clauses, AStmt, B);
}
+// Overloaded base case function
alexey-bataev wrote:
```suggestion
/// Overloaded
@@ -14145,6 +14152,46 @@ StmtResult
SemaOpenMP::ActOnOpenMPTargetTeamsDistributeSimdDirective(
getASTContext(), StartLoc, EndLoc, NestedLoopCount, Clauses, AStmt, B);
}
+// Overloaded base case function
+template static bool tryHandleAs(T *t, F &&) {
+ return false;
+
@@ -962,6 +962,9 @@ class OMPLoopTransformationDirective : public
OMPLoopBasedDirective {
/// Number of loops generated by this loop transformation.
unsigned NumGeneratedLoops = 0;
+ /// Number of top level canonical loop nests generated by this loop
+ /// transformatio
https://github.com/alexey-bataev approved this pull request.
https://github.com/llvm/llvm-project/pull/139313
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -5790,7 +5805,11 @@ class OMPReverseDirective final : public
OMPLoopTransformationDirective {
explicit OMPReverseDirective(SourceLocation StartLoc, SourceLocation EndLoc)
: OMPLoopTransformationDirective(OMPReverseDirectiveClass,
1 - 100 of 1640 matches
Mail list logo