[clang] [clang][OpenMP] Diagnose badly-formed collapsed imperfect loop nests (#60678) (PR #101305)

2024-08-19 Thread Alexey Bataev via cfe-commits
https://github.com/alexey-bataev closed https://github.com/llvm/llvm-project/pull/101305 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][OpenMP] Diagnose badly-formed collapsed imperfect loop nests (#60678) (PR #101305)

2024-08-19 Thread Julian Brown via cfe-commits
jtb20 wrote: Ping -- could this patch be applied please? https://github.com/llvm/llvm-project/pull/101305 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][OpenMP] Diagnose badly-formed collapsed imperfect loop nests (#60678) (PR #101305)

2024-08-02 Thread Julian Brown via cfe-commits
jtb20 wrote: Thank you! I don't have commit access, so do you mind committing it for me please? https://github.com/llvm/llvm-project/pull/101305 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cf

[clang] [clang][OpenMP] Diagnose badly-formed collapsed imperfect loop nests (#60678) (PR #101305)

2024-08-02 Thread Alexey Bataev via cfe-commits
https://github.com/alexey-bataev approved this pull request. LG https://github.com/llvm/llvm-project/pull/101305 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][OpenMP] Diagnose badly-formed collapsed imperfect loop nests (#60678) (PR #101305)

2024-08-02 Thread Julian Brown via cfe-commits
https://github.com/jtb20 updated https://github.com/llvm/llvm-project/pull/101305 >From 0d9ee78eb214135b10ecb5258358728e0fc626e1 Mon Sep 17 00:00:00 2001 From: Julian Brown Date: Wed, 26 Jun 2024 11:21:01 -0500 Subject: [PATCH] [clang][OpenMP] Diagnose badly-formed collapsed imperfect loop nes

[clang] [clang][OpenMP] Diagnose badly-formed collapsed imperfect loop nests (#60678) (PR #101305)

2024-08-01 Thread Alexey Bataev via cfe-commits
@@ -9487,13 +9606,17 @@ checkOpenMPLoop(OpenMPDirectiveKind DKind, Expr *CollapseLoopCountExpr, unsigned NestedLoopCount = 1; bool SupportsNonPerfectlyNested = (SemaRef.LangOpts.OpenMP >= 50) && !isOpenMPLoopTransformationDirective(DKin

[clang] [clang][OpenMP] Diagnose badly-formed collapsed imperfect loop nests (#60678) (PR #101305)

2024-08-01 Thread Alexey Bataev via cfe-commits
@@ -10,8 +10,9 @@ // //===--===// -#include "clang/AST/ASTContext.h" #include "clang/AST/StmtOpenMP.h" +#include "clang/AST/ASTContext.h" alexey-bataev wrote: Do this reordering in a separa

[clang] [clang][OpenMP] Diagnose badly-formed collapsed imperfect loop nests (#60678) (PR #101305)

2024-08-01 Thread Julian Brown via cfe-commits
jtb20 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 So the new pushed version does th

[clang] [clang][OpenMP] Diagnose badly-formed collapsed imperfect loop nests (#60678) (PR #101305)

2024-08-01 Thread Julian Brown via cfe-commits
https://github.com/jtb20 updated https://github.com/llvm/llvm-project/pull/101305 >From 32c370577279b6ba9a5947b8936c8852ae809e07 Mon Sep 17 00:00:00 2001 From: Julian Brown Date: Wed, 26 Jun 2024 11:21:01 -0500 Subject: [PATCH] [clang][OpenMP] Diagnose badly-formed collapsed imperfect loop nes

[clang] [clang][OpenMP] Diagnose badly-formed collapsed imperfect loop nests (#60678) (PR #101305)

2024-08-01 Thread Alexey Bataev via cfe-commits
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

[clang] [clang][OpenMP] Diagnose badly-formed collapsed imperfect loop nests (#60678) (PR #101305)

2024-08-01 Thread Julian Brown via cfe-commits
jtb20 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. https://github.com/llvm/llvm-project/pull/101305 ___ cfe-commits mailing

[clang] [clang][OpenMP] Diagnose badly-formed collapsed imperfect loop nests (#60678) (PR #101305)

2024-08-01 Thread Julian Brown via cfe-commits
https://github.com/jtb20 updated https://github.com/llvm/llvm-project/pull/101305 >From 2d318c6504b43d8a9521dc5567c1da4d6cd986a4 Mon Sep 17 00:00:00 2001 From: Julian Brown Date: Wed, 26 Jun 2024 11:21:01 -0500 Subject: [PATCH] [clang][OpenMP] Diagnose badly-formed collapsed imperfect loop nes

[clang] [clang][OpenMP] Diagnose badly-formed collapsed imperfect loop nests (#60678) (PR #101305)

2024-08-01 Thread Julian Brown via 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

[clang] [clang][OpenMP] Diagnose badly-formed collapsed imperfect loop nests (#60678) (PR #101305)

2024-08-01 Thread Julian Brown via 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

[clang] [clang][OpenMP] Diagnose badly-formed collapsed imperfect loop nests (#60678) (PR #101305)

2024-08-01 Thread Julian Brown via 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

[clang] [clang][OpenMP] Diagnose badly-formed collapsed imperfect loop nests (#60678) (PR #101305)

2024-07-31 Thread Alexey Bataev via cfe-commits
@@ -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

[clang] [clang][OpenMP] Diagnose badly-formed collapsed imperfect loop nests (#60678) (PR #101305)

2024-07-31 Thread Alexey Bataev via cfe-commits
@@ -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

[clang] [clang][OpenMP] Diagnose badly-formed collapsed imperfect loop nests (#60678) (PR #101305)

2024-07-31 Thread Alexey Bataev via cfe-commits
@@ -9069,7 +9147,8 @@ static bool checkOpenMPIterationSpace( Expr *OrderedLoopCountExpr, SemaOpenMP::VarsWithInheritedDSAType &VarsWithImplicitDSA, llvm::MutableArrayRef ResultIterSpaces, -llvm::MapVector &Captures) { +llvm::MapVector &Captures, +const l

[clang] [clang][OpenMP] Diagnose badly-formed collapsed imperfect loop nests (#60678) (PR #101305)

2024-07-31 Thread Alexey Bataev via cfe-commits
@@ -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

[clang] [clang][OpenMP] Diagnose badly-formed collapsed imperfect loop nests (#60678) (PR #101305)

2024-07-31 Thread Alexey Bataev via 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

[clang] [clang][OpenMP] Diagnose badly-formed collapsed imperfect loop nests (#60678) (PR #101305)

2024-07-31 Thread Alexey Bataev via 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

[clang] [clang][OpenMP] Diagnose badly-formed collapsed imperfect loop nests (#60678) (PR #101305)

2024-07-31 Thread Julian Brown via cfe-commits
https://github.com/jtb20 updated https://github.com/llvm/llvm-project/pull/101305 >From eb60fc7c8d02877d2f8de73057c1153444cc740c Mon Sep 17 00:00:00 2001 From: Julian Brown Date: Wed, 26 Jun 2024 11:21:01 -0500 Subject: [PATCH] [clang][OpenMP] Diagnose badly-formed collapsed imperfect loop nes

[clang] [clang][OpenMP] Diagnose badly-formed collapsed imperfect loop nests (#60678) (PR #101305)

2024-07-31 Thread Julian Brown via cfe-commits
jtb20 wrote: @jdoerfert @alexey-bataev https://github.com/llvm/llvm-project/pull/101305 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][OpenMP] Diagnose badly-formed collapsed imperfect loop nests (#60678) (PR #101305)

2024-07-31 Thread via cfe-commits
github-actions[bot] wrote: :warning: C/C++ code formatter, clang-format found issues in your code. :warning: You can test this locally with the following command: ``bash git-clang-format --diff 5ef087b705099574e131ba77143b49faaee0e7f8 56d5d7797929d8bc81bf394a46c97b9bf645744e --e

[clang] [clang][OpenMP] Diagnose badly-formed collapsed imperfect loop nests (#60678) (PR #101305)

2024-07-31 Thread via cfe-commits
llvmbot wrote: @llvm/pr-subscribers-clang Author: Julian Brown (jtb20) Changes This patch fixes a couple of cases where Clang aborts with loop nests that are being collapsed (via the relevant OpenMP clause) into a new, combined loop. The problematic cases happen when a variable declared

[clang] [clang][OpenMP] Diagnose badly-formed collapsed imperfect loop nests (#60678) (PR #101305)

2024-07-31 Thread Julian Brown via cfe-commits
https://github.com/jtb20 created https://github.com/llvm/llvm-project/pull/101305 This patch fixes a couple of cases where Clang aborts with loop nests that are being collapsed (via the relevant OpenMP clause) into a new, combined loop. The problematic cases happen when a variable declared wit