https://github.com/alexey-bataev approved this pull request.
LG
https://github.com/llvm/llvm-project/pull/101058
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -7668,6 +7669,47 @@ struct LoopIterationSpace final {
Expr *FinalCondition = nullptr;
};
+class ForSubExprChecker : public RecursiveASTVisitor {
+ const llvm::SmallSet *CollapsedLoopVarDecls;
+ VarDecl *ForbiddenVar;
+ SourceRange ErrLoc;
+
+public:
+ explicit ForSubE
@@ -7668,6 +7669,47 @@ struct LoopIterationSpace final {
Expr *FinalCondition = nullptr;
};
+class ForSubExprChecker : public RecursiveASTVisitor {
+ const llvm::SmallSet *CollapsedLoopVarDecls;
+ VarDecl *ForbiddenVar;
+ SourceRange ErrLoc;
+
+public:
+ explicit ForSubE
@@ -7668,6 +7669,47 @@ struct LoopIterationSpace final {
Expr *FinalCondition = nullptr;
};
+class ForSubExprChecker : public RecursiveASTVisitor {
+ const llvm::SmallSet *CollapsedLoopVarDecls;
+ VarDecl *ForbiddenVar;
alexey-bataev wrote:
`VarDecl *Forb
@@ -9069,7 +9147,8 @@ static bool checkOpenMPIterationSpace(
Expr *OrderedLoopCountExpr,
SemaOpenMP::VarsWithInheritedDSAType &VarsWithImplicitDSA,
llvm::MutableArrayRef ResultIterSpaces,
-llvm::MapVector &Captures) {
+llvm::MapVector &Captures,
+const l
@@ -9475,6 +9555,36 @@ static Expr *buildPostUpdate(Sema &S, ArrayRef
PostUpdates) {
return PostUpdate;
}
+class ForVarDeclFinder : public RecursiveASTVisitor {
+ int NestingDepth;
alexey-bataev wrote:
`int NestingDepth = 0;`
https://github.com/llvm/llvm
@@ -9475,6 +9555,36 @@ static Expr *buildPostUpdate(Sema &S, ArrayRef
PostUpdates) {
return PostUpdate;
}
+class ForVarDeclFinder : public RecursiveASTVisitor {
alexey-bataev wrote:
final class and description
https://github.com/llvm/llvm-project/pull/101
@@ -342,6 +342,57 @@ template class OMPVarListClause : public
OMPClause {
}
};
+template class OMPDirectiveListClause : public OMPClause {
alexey-bataev wrote:
Why do you need this?
https://github.com/llvm/llvm-project/pull/92731
___
@@ -2013,6 +2064,184 @@ class OMPMergeableClause : public OMPClause {
}
};
+/// This represents the 'absent' clause in the '#pragma omp assume'
+/// directive.
+///
+/// \code
+/// #pragma omp assume absent()
+/// \endcode
+/// In this example directive '#pragma omp assume'
@@ -2013,6 +2064,184 @@ class OMPMergeableClause : public OMPClause {
}
};
+/// This represents the 'absent' clause in the '#pragma omp assume'
+/// directive.
+///
+/// \code
+/// #pragma omp assume absent()
+/// \endcode
+/// In this example directive '#pragma omp assume'
@@ -2013,6 +2064,184 @@ class OMPMergeableClause : public OMPClause {
}
};
+/// This represents the 'absent' clause in the '#pragma omp assume'
+/// directive.
+///
+/// \code
+/// #pragma omp assume absent()
+/// \endcode
+/// In this example directive '#pragma omp assume'
alexey-bataev wrote:
> In clang/lib/Sema/SemaOpenMP.cpp I have retained the marking of the inner
> regions of the associated statements with AssumeAttr. This will make the work
> in Codegen easier.
How it will make the codegen easier? It is better to try to avoid post-building
attribute assig
@@ -15749,6 +15757,186 @@ StmtResult
SemaOpenMP::ActOnOpenMPUnrollDirective(ArrayRef Clauses,
buildPreInits(Context, PreInits));
}
+StmtResult SemaOpenMP::ActOnOpenMPReverseDirective(Stmt *AStmt,
+
@@ -15749,6 +15757,186 @@ StmtResult
SemaOpenMP::ActOnOpenMPUnrollDirective(ArrayRef Clauses,
buildPreInits(Context, PreInits));
}
+StmtResult SemaOpenMP::ActOnOpenMPReverseDirective(Stmt *AStmt,
+
@@ -15749,6 +15757,186 @@ StmtResult
SemaOpenMP::ActOnOpenMPUnrollDirective(ArrayRef Clauses,
buildPreInits(Context, PreInits));
}
+StmtResult SemaOpenMP::ActOnOpenMPReverseDirective(Stmt *AStmt,
+
https://github.com/alexey-bataev approved this pull request.
LG with a nit
https://github.com/llvm/llvm-project/pull/92916
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/alexey-bataev edited
https://github.com/llvm/llvm-project/pull/92916
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -14658,6 +14666,193 @@ StmtResult
SemaOpenMP::ActOnOpenMPUnrollDirective(ArrayRef Clauses,
buildPreInits(Context, PreInits));
}
+StmtResult SemaOpenMP::ActOnOpenMPReverseDirective(Stmt *AStmt,
+
https://github.com/alexey-bataev approved this pull request.
LG
https://github.com/llvm/llvm-project/pull/99347
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -14853,6 +14861,158 @@ StmtResult
SemaOpenMP::ActOnOpenMPReverseDirective(Stmt *AStmt,
buildPreInits(Context, PreInits));
}
+StmtResult SemaOpenMP::ActOnOpenMPInterchangeDirective(
+ArrayRef Clauses, Stmt *AStmt, SourceLocation Star
@@ -21703,32 +21703,37 @@ const ValueDecl
*SemaOpenMP::getOpenMPDeclareMapperVarName() const {
return cast(DSAStack->getDeclareMapperVarRef())->getDecl();
}
-OMPClause *SemaOpenMP::ActOnOpenMPNumTeamsClause(Expr *NumTeams,
+OMPClause *SemaOpenMP::ActOnOpenMPNumTeamsClause(A
@@ -21703,32 +21703,37 @@ const ValueDecl
*SemaOpenMP::getOpenMPDeclareMapperVarName() const {
return cast(DSAStack->getDeclareMapperVarRef())->getDecl();
}
-OMPClause *SemaOpenMP::ActOnOpenMPNumTeamsClause(Expr *NumTeams,
+OMPClause *SemaOpenMP::ActOnOpenMPNumTeamsClause(A
@@ -2534,21 +2563,24 @@ static void emitCommonSimdLoop(CodeGenFunction &CGF,
const OMPLoopDirective &S,
static void emitOMPSimdRegion(CodeGenFunction &CGF, const OMPLoopDirective &S,
PrePostActionTy &Action) {
Action.Enter(CGF);
- assert(isOpen
@@ -3852,44 +3895,44 @@ static bool emitWorksharingDirective(CodeGenFunction
&CGF,
OMPLoopScope LoopScope(CGF, S);
return CGF.EmitScalarExpr(S.getNumIterations());
};
-const auto &&FirstGen = [&S, HasCancel](CodeGenFunction &CGF) {
- CodeGenFunction::O
https://github.com/alexey-bataev approved this pull request.
LG
https://github.com/llvm/llvm-project/pull/99905
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
alexey-bataev wrote:
> @alexey-bataev Not having this new 'base' type as a member of the
> `StmtNodes.td` results in one of the Clang tools failing (see the CI). AND,
> since it is a template, it can't do that.
>
> I can't make it a Mixin, because it needs to provide some of the Expr-type
> f
@@ -11163,7 +11163,7 @@ def err_omp_declare_mapper_redefinition : Error<
"redefinition of user-defined mapper for type %0 with name %1">;
def err_omp_invalid_mapper: Error<
"cannot find a valid user-defined mapper for type %0 with name %1">;
-def err_omp_array_section_use :
@@ -443,12 +443,17 @@ ExprDependence
clang::computeDependence(ObjCIndirectCopyRestoreExpr *E) {
return E->getSubExpr()->getDependence();
}
-ExprDependence clang::computeDependence(OMPArraySectionExpr *E) {
+ExprDependence clang::computeDependence(ArraySectionExpr *E) {
a
@@ -3413,8 +3413,8 @@ StringRef BuiltinType::getName(const PrintingPolicy
&Policy) const {
return "reserve_id_t";
case IncompleteMatrixIdx:
return "";
- case OMPArraySection:
-return "";
+ case ArraySection:
+return "";
alexey-bataev wrote:
@@ -6610,6 +6610,265 @@ class TypoExpr : public Expr {
};
+/// This class represents BOTH the OpenMP Array Section and OpenACC 'subarray',
+/// with a boolean differentiator.
+/// OpenMP 5.0 [2.1.5, Array Sections].
+/// To specify an array section in an OpenMP construct, arr
@@ -6610,6 +6610,265 @@ class TypoExpr : public Expr {
};
+/// This class represents BOTH the OpenMP Array Section and OpenACC 'subarray',
+/// with a boolean differentiator.
+/// OpenMP 5.0 [2.1.5, Array Sections].
+/// To specify an array section in an OpenMP construct, arr
@@ -6610,6 +6610,265 @@ class TypoExpr : public Expr {
};
+/// This class represents BOTH the OpenMP Array Section and OpenACC 'subarray',
+/// with a boolean differentiator.
+/// OpenMP 5.0 [2.1.5, Array Sections].
+/// To specify an array section in an OpenMP construct, arr
https://github.com/alexey-bataev approved this pull request.
LG
https://github.com/llvm/llvm-project/pull/89639
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/alexey-bataev edited
https://github.com/llvm/llvm-project/pull/90499
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -4268,7 +4287,11 @@ bool
Parser::parseMapTypeModifiers(SemaOpenMP::OpenMPVarListDataTy &Data) {
}
// Potential map-type token as it is followed by a colon.
if (PP.LookAhead(0).is(tok::colon))
-return false;
+if (getLangOpts().OpenMP >= 60)
@@ -113,7 +114,7 @@ struct SA {
#pragma omp target map(b[true:true])
{}
-#pragma omp target map(: c,f) // expected-error {{missing map type}}
+#pragma omp target map(: c,f) // lt60-error {{missing map type}}
alexey-bataev wrote:
I assume this
@@ -113,7 +114,7 @@ struct SA {
#pragma omp target map(b[true:true])
{}
-#pragma omp target map(: c,f) // expected-error {{missing map type}}
+#pragma omp target map(: c,f) // lt60-error {{missing map type}}
alexey-bataev wrote:
So, does hangi
https://github.com/alexey-bataev edited
https://github.com/llvm/llvm-project/pull/90499
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -113,7 +114,7 @@ struct SA {
#pragma omp target map(b[true:true])
{}
-#pragma omp target map(: c,f) // expected-error {{missing map type}}
+#pragma omp target map(: c,f) // lt60-error {{missing map type}}
alexey-bataev wrote:
Hm,, I see in
@@ -113,7 +114,7 @@ struct SA {
#pragma omp target map(b[true:true])
{}
-#pragma omp target map(: c,f) // expected-error {{missing map type}}
+#pragma omp target map(: c,f) // lt60-error {{missing map type}}
alexey-bataev wrote:
Check page 100
@@ -958,13 +931,14 @@ Parser::OpenACCClauseParseResult
Parser::ParseOpenACCClauseParams(
case OpenACCClauseKind::Link:
case OpenACCClauseKind::NoCreate:
case OpenACCClauseKind::Present:
-case OpenACCClauseKind::Private:
case OpenACCClauseKind::UseDevice:
-
@@ -112,6 +116,18 @@ class SemaOpenACC : public SemaBase {
return const_cast(this)->getIntExprs();
}
+// Non-const version that permits modifying of the VarList for the purposes
+// of Sema enforcement.
+SmallVector &getVarList() {
alexey
@@ -11196,6 +11198,31 @@ void
OpenACCClauseTransform::VisitNumGangsClause(
ParsedClause.getLParenLoc(), ParsedClause.getIntExprs(),
ParsedClause.getEndLoc());
}
+
+template
+void OpenACCClauseTransform::VisitPrivateClause(
+const OpenACCPrivateClause &C) {
+
@@ -423,6 +450,52 @@ ExprResult SemaOpenACC::ActOnIntExpr(OpenACCDirectiveKind
DK,
return IntExpr;
}
+ExprResult SemaOpenACC::ActOnVar(Expr *VarExpr) {
+ // We still need to retain the array subscript/subarray exprs, so work on a
+ // copy.
+ Expr *CurVarExpr = VarExpr->
@@ -423,6 +450,52 @@ ExprResult SemaOpenACC::ActOnIntExpr(OpenACCDirectiveKind
DK,
return IntExpr;
}
+ExprResult SemaOpenACC::ActOnVar(Expr *VarExpr) {
+ // We still need to retain the array subscript/subarray exprs, so work on a
+ // copy.
+ Expr *CurVarExpr = VarExpr->
@@ -958,13 +931,14 @@ Parser::OpenACCClauseParseResult
Parser::ParseOpenACCClauseParams(
case OpenACCClauseKind::Link:
case OpenACCClauseKind::NoCreate:
case OpenACCClauseKind::Present:
-case OpenACCClauseKind::Private:
case OpenACCClauseKind::UseDevice:
-
@@ -113,7 +114,7 @@ struct SA {
#pragma omp target map(b[true:true])
{}
-#pragma omp target map(: c,f) // expected-error {{missing map type}}
+#pragma omp target map(: c,f) // lt60-error {{missing map type}}
alexey-bataev wrote:
Yes, if you ha
@@ -134,6 +134,24 @@ OpenACCNumGangsClause *OpenACCNumGangsClause::Create(const
ASTContext &C,
return new (Mem) OpenACCNumGangsClause(BeginLoc, LParenLoc, IntExprs,
EndLoc);
}
+OpenACCPrivateClause *OpenACCPrivateClause::Create(const ASTContext &C,
+
@@ -423,6 +450,52 @@ ExprResult SemaOpenACC::ActOnIntExpr(OpenACCDirectiveKind
DK,
return IntExpr;
}
+ExprResult SemaOpenACC::ActOnVar(Expr *VarExpr) {
+ // We still need to retain the array subscript/subarray exprs, so work on a
+ // copy.
+ Expr *CurVarExpr = VarExpr->
https://github.com/alexey-bataev edited
https://github.com/llvm/llvm-project/pull/90521
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -166,3 +176,9 @@ void OpenACCClausePrinter::VisitVectorLengthClause(
const OpenACCVectorLengthClause &C) {
OS << "vector_length(" << C.getIntExpr() << ")";
}
+
+void OpenACCClausePrinter::VisitPrivateClause(const OpenACCPrivateClause &C) {
+ OS << "private(";
+ llvm:
https://github.com/alexey-bataev approved this pull request.
LG
https://github.com/llvm/llvm-project/pull/90521
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -6060,69 +6057,55 @@ StmtResult SemaOpenMP::ActOnOpenMPExecutableDirective(
return StmtError();
// Generate list of implicitly defined firstprivate variables.
VarsWithInheritedDSA = DSAChecker.getVarsWithInheritedDSA();
+VariableImplicitInfo ImpInfo = DSACh
@@ -1759,8 +1759,35 @@ void
Parser::ParseOpenMPAssumesDirective(OpenMPDirectiveKind DKind,
Assumptions.push_back(Assumption);
}
+ StmtResult AssociatedStmt;
+
+ // Begin marking the scope for assume.
+ if (DKind == llvm::omp::Directive::OMPD_assume) {
+
+if (Tok.
@@ -7323,6 +7324,69 @@ void
SemaOpenMP::ActOnFinishedFunctionDefinitionInOpenMPAssumeScope(Decl *D) {
FD->addAttr(AA);
}
+class OMPAssumeStmtVisitor : public StmtVisitor {
+ SmallVector *OMPAssumeScoped;
+
+public:
+ OMPAssumeStmtVisitor(SmallVector *OMPAssumeScoped) {
@@ -760,6 +760,9 @@ void clang::getOpenMPCaptureRegions(
case OMPD_parallel:
CaptureRegions.push_back(OMPD_parallel);
break;
+case OMPD_assume:
+ CaptureRegions.push_back(OMPD_unknown);
+ break;
alexey-bataev wrote:
Why? We usuall
@@ -760,6 +760,9 @@ void clang::getOpenMPCaptureRegions(
case OMPD_parallel:
CaptureRegions.push_back(OMPD_parallel);
break;
+case OMPD_assume:
+ CaptureRegions.push_back(OMPD_unknown);
+ break;
alexey-bataev wrote:
It may affect
https://github.com/alexey-bataev approved this pull request.
LG
https://github.com/llvm/llvm-project/pull/98386
___
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
https://github.com/llvm/llvm-project/pull/98387
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -488,6 +488,49 @@ class Parser : public CodeCompletionHandler {
/// a statement expression and builds a suitable expression statement.
StmtResult handleExprStmt(ExprResult E, ParsedStmtContext StmtCtx);
+ class AssumeParseAssociatedStmtRAII {
+Parser *parent;
-
@@ -488,6 +488,49 @@ class Parser : public CodeCompletionHandler {
/// a statement expression and builds a suitable expression statement.
StmtResult handleExprStmt(ExprResult E, ParsedStmtContext StmtCtx);
+ class AssumeParseAssociatedStmtRAII {
+Parser *parent;
+
@@ -488,6 +488,49 @@ class Parser : public CodeCompletionHandler {
/// a statement expression and builds a suitable expression statement.
StmtResult handleExprStmt(ExprResult E, ParsedStmtContext StmtCtx);
+ class AssumeParseAssociatedStmtRAII {
+Parser *parent;
-
@@ -4675,8 +4709,10 @@ bool Parser::ParseOpenMPVarList(OpenMPDirectiveKind
DKind,
// Only parse map-type-modifier[s] and map-type if a colon is present in
// the map clause.
if (ColonPresent) {
+ if (getLangOpts().OpenMP >= 60 && getCurToken().is(tok::colon))
https://github.com/alexey-bataev approved this pull request.
LG
https://github.com/llvm/llvm-project/pull/90499
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
alexey-bataev wrote:
A test?
https://github.com/llvm/llvm-project/pull/90800
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/alexey-bataev edited
https://github.com/llvm/llvm-project/pull/90796
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/alexey-bataev edited
https://github.com/llvm/llvm-project/pull/90796
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -503,12 +512,211 @@ ExprResult SemaOpenACC::ActOnArraySectionExpr(Expr
*Base, SourceLocation LBLoc,
SourceLocation RBLoc) {
ASTContext &Context = getASTContext();
- // TODO OpenACC: We likely have to reproduce a lot of the s
https://github.com/alexey-bataev approved this pull request.
LG with a nit
https://github.com/llvm/llvm-project/pull/90796
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
alexey-bataev wrote:
> > A test?
>
> I don't really know how to test this, as I don't know how to reproduce the
> problem. Any suggestion?
What is the problem?
https://github.com/llvm/llvm-project/pull/90800
___
cfe-commits mailing list
cfe-commits@
https://github.com/alexey-bataev approved this pull request.
LG
https://github.com/llvm/llvm-project/pull/90800
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
alexey-bataev wrote:
I think this breaks the build of SPEC2017/xalancbmk
https://github.com/llvm/llvm-project/pull/84050
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
alexey-bataev wrote:
> @alexey-bataev see [#90152
> (comment)](https://github.com/llvm/llvm-project/pull/90152#issuecomment-2089786180)
> @alexey-bataev see [#90152
> (comment)](https://github.com/llvm/llvm-project/pull/90152#issuecomment-2089786180)
Thanks for the link
https://github.com/
alexey-bataev wrote:
> ```llvm
> = load i32, ptr %.capture_expr., align 4
> ```
Why do you think it reads beyond __context? %2 = getelementptr inbounds
%struct.anon, ptr %1, i32 0, i32 0 points to the first element in the
__context, if I'm not missing something. If it has the wrong value, look
@@ -5932,12 +5932,16 @@ void CGOpenMPRuntime::emitTargetOutlinedFunctionHelper(
CodeGenFunction CGF(CGM, true);
llvm::OpenMPIRBuilder::FunctionGenCallback &&GenerateOutlinedFunction =
- [&CGF, &D, &CodeGen](StringRef EntryFnName) {
+ [&CGF, &D, &CodeGen, this](St
@@ -613,6 +613,102 @@ static llvm::Function *emitOutlinedFunctionPrologue(
return F;
}
+static llvm::Function *emitOutlinedFunctionPrologueAggregate(
+CodeGenFunction &CGF, FunctionArgList &Args,
+llvm::MapVector>
+&LocalAddrs,
+llvm::DenseMap>
+&
alexey-bataev wrote:
> ```llvm
> struct.anon
> ```
Can you provide full IR dump here?
https://github.com/llvm/llvm-project/pull/91264
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
alexey-bataev wrote:
> > > ```llvm
> > > struct.anon
> > > ```
> >
> >
> > Can you provide full IR dump here?
>
> https://godbolt.org/z/48h5s3W6v
It does not look like the issue of the target code, I don't see any wrong
access for __context. Мост probably something wrong with the host code/r
alexey-bataev wrote:
> > > > > ```llvm
> > > > > struct.anon
> > > > > ```
> > > >
> > > >
> > > > Can you provide full IR dump here?
> > >
> > >
> > > https://godbolt.org/z/48h5s3W6v
> >
> >
> > It does not look like the issue of the target code, I don't see any wrong
> > access for __con
alexey-bataev wrote:
Hmm, hard to tell, need to debug it.
https://github.com/llvm/llvm-project/pull/91264
___
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
https://github.com/llvm/llvm-project/pull/91325
___
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
https://github.com/llvm/llvm-project/pull/91345
___
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
https://github.com/llvm/llvm-project/pull/92210
___
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
https://github.com/llvm/llvm-project/pull/92055
___
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/92055
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -426,6 +438,24 @@ SemaOpenACC::ActOnClause(ArrayRef
ExistingClauses,
<< /*NoArgs=*/1 << Clause.getDirectiveKind() << MaxArgs
<< Clause.getIntExprs().size();
+// OpenACC 3.3 Section 2.5.4:
+// A reduction clause may not appear on a parallel const
https://github.com/alexey-bataev commented:
ast printing tests?
https://github.com/llvm/llvm-project/pull/92808
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/alexey-bataev edited
https://github.com/llvm/llvm-project/pull/92808
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -706,6 +736,48 @@ SemaOpenACC::ActOnClause(ArrayRef
ExistingClauses,
Clause.getLParenLoc(), Clause.getDeviceTypeArchitectures(),
Clause.getEndLoc());
}
+ case OpenACCClauseKind::Reduction: {
+// Restrictions only properly implemented on 'compute' cons
@@ -715,6 +787,65 @@ SemaOpenACC::ActOnClause(ArrayRef
ExistingClauses,
return nullptr;
}
+/// OpenACC 3.3 section 2.5.15:
+/// At a mininmum, the supported data types include ... the numerical data
types
+/// in C, C++, and Fortran.
+///
+/// If the reduction var is a com
https://github.com/alexey-bataev approved this pull request.
LG
https://github.com/llvm/llvm-project/pull/92808
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -182,17 +182,34 @@ class OMPLoopScope : public
CodeGenFunction::RunCleanupsScope {
}
return false;
});
- PreInits = cast_or_null(LD->getPreInits());
+ PreInits = LD->getPreInits();
} else if (const auto *Tile = dyn_cast(&S))
@@ -15097,14 +15125,75 @@ bool SemaOpenMP::checkTransformableLoopNest(
llvm_unreachable("Unhandled loop transformation");
if (!DependentPreInits)
return;
-llvm::append_range(OriginalInits.back(),
- cast(DependentPreI
@@ -9924,11 +9941,24 @@ checkOpenMPLoop(OpenMPDirectiveKind DKind, Expr
*CollapseLoopCountExpr,
Stmt *DependentPreInits = Transform->getPreInits();
if (!DependentPreInits)
return;
-for (Decl *C : cast(DependentPreInits)->getDec
@@ -156,9 +156,9 @@ extern "C" void body(...) {}
// IR-EMPTY:
// IR-NEXT: [[FOR_INC]]:
// IR-NEXT:%[[TMP34:.+]] = load i32, ptr %[[DOTTILE_0_IV_I]], align 4
-// IR-NEXT:%[[INC:.+]] = add nsw i32 %[[TMP34]], 1
+// IR-NEXT:%[[INC:.+]] = add i32 %[[TMP34]], 1
@@ -9924,11 +9954,24 @@ checkOpenMPLoop(OpenMPDirectiveKind DKind, Expr
*CollapseLoopCountExpr,
Stmt *DependentPreInits = Transform->getPreInits();
if (!DependentPreInits)
return;
-for (Decl *C : cast(DependentPreInits)->getDec
@@ -15095,16 +15136,70 @@ bool SemaOpenMP::checkTransformableLoopNest(
DependentPreInits = Dir->getPreInits();
else
llvm_unreachable("Unhandled loop transformation");
-if (!DependentPreInits)
- return;
-llvm::append_range(Ori
https://github.com/alexey-bataev approved this pull request.
LG
https://github.com/llvm/llvm-project/pull/91459
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/alexey-bataev commented:
Update OpenMPSupport.rst and include info about changes to release notes
https://github.com/llvm/llvm-project/pull/99732
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/
alexey-bataev wrote:
> OpenMPIterationSpaceChecker is still passed a pointer to CollapsedLoopDecls,
> because one caller passes a nullptr, and we don't want to do the analysis in
> that case.
Still pass by reference, just pass empty where it is not required
https://github.com/llvm/llvm-projec
1701 - 1800 of 2257 matches
Mail list logo